|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.trails.hibernate.HibernateDescriptorDecorator
public class HibernateDescriptorDecorator
This decorator will add metadata information. It will replace simple reflection based TrailsPropertyIPropertyDescriptors with appropriate Hibernate descriptors
Background... TrailsDescriptorService operates one ReflectorDescriptorFactory - TrailsDescriptorService iterates/scans all class types encountered - ReflectorDescriptorFactory allocates property descriptor instance for the class type - TrailsDescriptorService decorates property descriptor by calling this module HibernateDescriptorDecorator - HibernateDescriptorDecorator caches the decorated property descriptor into a decorated descriptor list - decorated descriptor list gets populated into class descriptor for class type - TrailsDescriptorService finally populates decorated class descriptor and it's aggregated list of decorated property descriptors into it's own list/cache of referenced class descriptors
TrailsPropertyDescriptor,
ObjectReferenceDescriptor,
OwningObjectReferenceDescriptor,
CollectionDescriptor,
EmbeddedDescriptor| Field Summary | |
|---|---|
protected static org.apache.commons.logging.Log |
LOG
|
| Constructor Summary | |
|---|---|
HibernateDescriptorDecorator()
|
|
| Method Summary | |
|---|---|
org.trails.descriptor.IClassDescriptor |
decorate(org.trails.descriptor.IClassDescriptor descriptor)
|
org.trails.descriptor.IPropertyDescriptor |
decorateAssociationDescriptor(java.lang.Class type,
org.hibernate.mapping.Property mappingProperty,
org.trails.descriptor.IPropertyDescriptor descriptor,
org.trails.descriptor.IClassDescriptor parentClassDescriptor)
|
protected org.trails.descriptor.IPropertyDescriptor |
decoratePropertyDescriptor(java.lang.Class type,
org.hibernate.mapping.Property mappingProperty,
org.trails.descriptor.IPropertyDescriptor descriptor,
org.trails.descriptor.IClassDescriptor parentClassDescriptor)
|
protected org.hibernate.mapping.Collection |
findCollectionMapping(java.lang.Class type,
java.lang.String name)
|
protected org.hibernate.metadata.ClassMetadata |
findMetadata(java.lang.Class type)
Find the Hibernate metadata for this type, traversing up the hierarchy to supertypes if necessary |
java.util.List<org.trails.descriptor.IClassDescriptor> |
getAllDescriptors()
|
org.trails.descriptor.IClassDescriptor |
getClassDescriptor(java.lang.Class type)
|
org.trails.descriptor.DescriptorFactory |
getDescriptorFactory()
|
java.lang.String |
getIdentifierProperty(java.lang.Class type)
|
int |
getLargeColumnLength()
|
org.springframework.orm.hibernate3.LocalSessionFactoryBean |
getLocalSessionFactoryBean()
|
protected org.hibernate.mapping.PersistentClass |
getMapping(java.lang.Class type)
|
org.hibernate.SessionFactory |
getSessionFactory()
|
java.util.List |
getTypes()
|
protected boolean |
notAHibernateProperty(org.hibernate.metadata.ClassMetadata classMetaData,
org.trails.descriptor.IPropertyDescriptor descriptor)
|
protected boolean |
notAHibernateProperty(org.hibernate.mapping.Component componentMapping,
org.trails.descriptor.IPropertyDescriptor propertyDescriptor)
Checks to see if a property descriptor is in a component mapping |
void |
setDescriptorFactory(org.trails.descriptor.DescriptorFactory descriptorFactory)
|
void |
setLargeColumnLength(int largeColumnLength)
Columns longer than this will have their large property set to true. |
void |
setLocalSessionFactoryBean(org.springframework.orm.hibernate3.LocalSessionFactoryBean localSessionFactoryBean)
|
void |
setTypes(java.util.List types)
|
protected java.util.List |
sortPropertyDescriptors(java.lang.Class type,
java.util.List propertyDescriptors)
The default way to order our property descriptors is by the order they appear in the hibernate config, with id first. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final org.apache.commons.logging.Log LOG
| Constructor Detail |
|---|
public HibernateDescriptorDecorator()
| Method Detail |
|---|
public org.trails.descriptor.IClassDescriptor decorate(org.trails.descriptor.IClassDescriptor descriptor)
decorate in interface org.trails.descriptor.DescriptorDecorator
protected org.trails.descriptor.IPropertyDescriptor decoratePropertyDescriptor(java.lang.Class type,
org.hibernate.mapping.Property mappingProperty,
org.trails.descriptor.IPropertyDescriptor descriptor,
org.trails.descriptor.IClassDescriptor parentClassDescriptor)
protected java.util.List sortPropertyDescriptors(java.lang.Class type,
java.util.List propertyDescriptors)
propertyDescriptors -
protected org.hibernate.metadata.ClassMetadata findMetadata(java.lang.Class type)
throws MetadataNotFoundException
type -
MetadataNotFoundException
protected boolean notAHibernateProperty(org.hibernate.mapping.Component componentMapping,
org.trails.descriptor.IPropertyDescriptor propertyDescriptor)
componentMapping - propertyDescriptor -
protected boolean notAHibernateProperty(org.hibernate.metadata.ClassMetadata classMetaData,
org.trails.descriptor.IPropertyDescriptor descriptor)
classMetaData - type -
protected org.hibernate.mapping.PersistentClass getMapping(java.lang.Class type)
type -
public org.trails.descriptor.IPropertyDescriptor decorateAssociationDescriptor(java.lang.Class type,
org.hibernate.mapping.Property mappingProperty,
org.trails.descriptor.IPropertyDescriptor descriptor,
org.trails.descriptor.IClassDescriptor parentClassDescriptor)
protected org.hibernate.mapping.Collection findCollectionMapping(java.lang.Class type,
java.lang.String name)
public java.lang.String getIdentifierProperty(java.lang.Class type)
public org.hibernate.SessionFactory getSessionFactory()
public org.trails.descriptor.IClassDescriptor getClassDescriptor(java.lang.Class type)
public org.springframework.orm.hibernate3.LocalSessionFactoryBean getLocalSessionFactoryBean()
public void setLocalSessionFactoryBean(org.springframework.orm.hibernate3.LocalSessionFactoryBean localSessionFactoryBean)
localSessionFactoryBean - The localSessionFactoryBean to set.public java.util.List<org.trails.descriptor.IClassDescriptor> getAllDescriptors()
public java.util.List getTypes()
public void setTypes(java.util.List types)
public int getLargeColumnLength()
public void setLargeColumnLength(int largeColumnLength)
largeColumnLength - public org.trails.descriptor.DescriptorFactory getDescriptorFactory()
public void setDescriptorFactory(org.trails.descriptor.DescriptorFactory descriptorFactory)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||