@Component(value="blDynamicEntityDao") @Scope(value="prototype") public class DynamicEntityDaoImpl extends Object implements DynamicEntityDao
Modifier and Type | Field and Description |
---|---|
protected AppConfigurationService |
appConfigurationRemoteService |
protected int |
cacheEntityMetaDataTtl |
protected FieldMetadataProvider |
defaultFieldMetadataProvider |
protected DynamicDaoHelper |
dynamicDaoHelper |
protected EJB3ConfigurationDao |
ejb3ConfigurationDao |
protected EntityConfiguration |
entityConfiguration |
protected List<FieldMetadataProvider> |
fieldMetadataProviders |
protected long |
lastCacheFlushTime |
protected Metadata |
metadata |
protected static Map<String,Map<String,FieldMetadata>> |
METADATA_CACHE |
protected javax.persistence.EntityManager |
standardEntityManager |
Constructor and Description |
---|
DynamicEntityDaoImpl() |
Modifier and Type | Method and Description |
---|---|
protected void |
addClassToTree(Class<?> clazz,
ClassTree tree) |
protected void |
applyForeignKeyPrecedence(ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
Map<String,FieldMetadata> mergedProperties) |
protected void |
applyIncludesAndExcludes(String[] includeFields,
String[] excludeFields,
String prefix,
Boolean isParentExcluded,
Map<String,FieldMetadata> mergedProperties) |
protected void |
buildBasicProperty(Field field,
Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> presentationAttributes,
List<org.hibernate.mapping.Property> componentProperties,
Map<String,FieldMetadata> fields,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded,
String propertyName,
org.hibernate.type.Type type,
boolean propertyForeignKey,
int additionalForeignKeyIndexPosition,
Boolean isComponentPrefix) |
protected void |
buildComponentProperties(Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> fields,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
String propertyName,
org.hibernate.type.Type type,
Class<?> returnedClass,
List<Class<?>> parentClasses,
Boolean isParentExcluded,
String prefix) |
protected void |
buildEntityProperties(Map<String,FieldMetadata> fields,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
String propertyName,
Class<?> returnedClass,
Class<?> targetClass,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded) |
protected void |
buildProperties(Class<?> targetClass,
ForeignKey foreignField,
ForeignKey[] additionalForeignFields,
String[] additionalNonPersistentProperties,
MergedPropertyType mergedPropertyType,
Map<String,FieldMetadata> presentationAttributes,
List<org.hibernate.mapping.Property> componentProperties,
Map<String,FieldMetadata> fields,
List<String> propertyNames,
List<org.hibernate.type.Type> propertyTypes,
String idProperty,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded,
Boolean isComponentPrefix) |
protected void |
buildPropertiesFromPolymorphicEntities(Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
Map<String,FieldMetadata> mergedProperties,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded) |
void |
clear() |
protected void |
createClassTreeFromAnnotation(Class<?> clazz,
ClassTree myTree) |
org.hibernate.Criteria |
createCriteria(Class<?> entityClass) |
void |
detach(Serializable entity) |
protected int |
findAdditionalForeignKeyIndex(ForeignKey[] additionalForeignFields,
String prefix,
String propertyName) |
void |
flush() |
Field[] |
getAllFields(Class<?> targetClass) |
Class<?>[] |
getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass) |
Class<?>[] |
getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass,
boolean includeUnqualifiedPolymorphicEntities) |
protected String |
getCacheKey(ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
Class<?> clazz,
String configurationKey,
Boolean isParentExcluded) |
ClassTree |
getClassTree(Class<?>[] polymorphicClasses) |
ClassTree |
getClassTreeFromCeiling(Class<?> ceilingClass) |
FieldMetadataProvider |
getDefaultFieldMetadataProvider() |
DynamicDaoHelper |
getDynamicDaoHelper() |
EJB3ConfigurationDao |
getEjb3ConfigurationDao() |
EntityConfiguration |
getEntityConfiguration() |
FieldManager |
getFieldManager() |
List<FieldMetadataProvider> |
getFieldMetadataProviders() |
Map<String,Object> |
getIdMetadata(Class<?> entityClass) |
Map<String,FieldMetadata> |
getMergedProperties(String ceilingEntityFullyQualifiedClassname,
Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String prefix) |
protected Map<String,FieldMetadata> |
getMergedPropertiesRecursively(String ceilingEntityFullyQualifiedClassname,
Class<?>[] entities,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded) |
Metadata |
getMetadata() |
org.hibernate.mapping.PersistentClass |
getPersistentClass(String targetClassName)
Get the Hibernate PersistentClass instance associated with the fully-qualified
class name.
|
protected Map<String,FieldMetadata> |
getPropertiesForEntityClass(Class<?> targetClass,
ForeignKey foreignField,
String[] additionalNonPersistentProperties,
ForeignKey[] additionalForeignFields,
MergedPropertyType mergedPropertyType,
Boolean populateManyToOneFields,
String[] includeFields,
String[] excludeFields,
String configurationKey,
String ceilingEntityFullyQualifiedClassname,
List<Class<?>> parentClasses,
String prefix,
Boolean isParentExcluded) |
Map<String,FieldMetadata> |
getPropertiesForPrimitiveClass(String propertyName,
String friendlyPropertyName,
Class<?> targetClass,
Class<?> parentClass,
MergedPropertyType mergedPropertyType) |
List<String> |
getPropertyNames(Class<?> entityClass) |
List<org.hibernate.type.Type> |
getPropertyTypes(Class<?> entityClass) |
org.hibernate.SessionFactory |
getSessionFactory() |
Map<String,FieldMetadata> |
getSimpleMergedProperties(String entityName,
PersistencePerspective persistencePerspective) |
javax.persistence.EntityManager |
getStandardEntityManager() |
protected boolean |
isExcludeClassFromPolymorphism(Class<?> clazz) |
Serializable |
merge(Serializable entity) |
protected String |
pad(String s,
int length,
char pad) |
Serializable |
persist(Serializable entity) |
void |
refresh(Serializable entity) |
void |
remove(Serializable entity) |
Serializable |
retrieve(Class<?> entityClass,
Object primaryKey) |
void |
setDefaultFieldMetadataProvider(FieldMetadataProvider defaultFieldMetadataProvider) |
void |
setDynamicDaoHelper(DynamicDaoHelper dynamicDaoHelper) |
void |
setEjb3ConfigurationDao(EJB3ConfigurationDao ejb3ConfigurationDao) |
void |
setEntityConfiguration(EntityConfiguration entityConfiguration) |
protected boolean |
setExcludedBasedOnShowIfProperty(FieldMetadata fieldMetadata) |
void |
setFieldMetadataProviders(List<FieldMetadataProvider> fieldMetadataProviders) |
void |
setMetadata(Metadata metadata) |
void |
setStandardEntityManager(javax.persistence.EntityManager entityManager) |
Class<?>[] |
sortEntities(Class<?> ceilingClass,
List<Class<?>> entities) |
protected boolean |
testForeignProperty(ForeignKey foreignField,
String prefix,
String propertyName) |
Boolean |
testPropertyInclusion(FieldMetadata presentationAttribute) |
protected Boolean |
testPropertyRecursion(String prefix,
List<Class<?>> parentClasses,
String propertyName,
Class<?> targetClass,
String ceilingEntityFullyQualifiedClassname,
Boolean isComponentPrefix) |
protected boolean |
useCache() |
protected static final Map<String,Map<String,FieldMetadata>> METADATA_CACHE
protected javax.persistence.EntityManager standardEntityManager
protected Metadata metadata
protected EJB3ConfigurationDao ejb3ConfigurationDao
protected EntityConfiguration entityConfiguration
protected List<FieldMetadataProvider> fieldMetadataProviders
protected FieldMetadataProvider defaultFieldMetadataProvider
protected AppConfigurationService appConfigurationRemoteService
protected DynamicDaoHelper dynamicDaoHelper
@Value(value="${cache.entity.dao.metadata.ttl}") protected int cacheEntityMetaDataTtl
protected long lastCacheFlushTime
public org.hibernate.Criteria createCriteria(Class<?> entityClass)
createCriteria
in interface DynamicEntityDao
public Serializable persist(Serializable entity)
persist
in interface DynamicEntityDao
public Serializable merge(Serializable entity)
merge
in interface DynamicEntityDao
public void flush()
flush
in interface DynamicEntityDao
public void detach(Serializable entity)
detach
in interface DynamicEntityDao
public void refresh(Serializable entity)
refresh
in interface DynamicEntityDao
public Serializable retrieve(Class<?> entityClass, Object primaryKey)
retrieve
in interface DynamicEntityDao
public void remove(Serializable entity)
remove
in interface DynamicEntityDao
public void clear()
clear
in interface DynamicEntityDao
public org.hibernate.mapping.PersistentClass getPersistentClass(String targetClassName)
DynamicEntityDao
getPersistentClass
in interface DynamicEntityDao
protected boolean useCache()
public Class<?>[] getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass)
getAllPolymorphicEntitiesFromCeiling
in interface DynamicEntityDao
public Class<?>[] getAllPolymorphicEntitiesFromCeiling(Class<?> ceilingClass, boolean includeUnqualifiedPolymorphicEntities)
getAllPolymorphicEntitiesFromCeiling
in interface DynamicEntityDao
protected void createClassTreeFromAnnotation(Class<?> clazz, ClassTree myTree)
public ClassTree getClassTree(Class<?>[] polymorphicClasses)
getClassTree
in interface DynamicEntityDao
public ClassTree getClassTreeFromCeiling(Class<?> ceilingClass)
getClassTreeFromCeiling
in interface DynamicEntityDao
public Map<String,FieldMetadata> getSimpleMergedProperties(String entityName, PersistencePerspective persistencePerspective)
getSimpleMergedProperties
in interface DynamicEntityDao
public Map<String,FieldMetadata> getMergedProperties(String ceilingEntityFullyQualifiedClassname, Class<?>[] entities, ForeignKey foreignField, String[] additionalNonPersistentProperties, ForeignKey[] additionalForeignFields, MergedPropertyType mergedPropertyType, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String prefix)
getMergedProperties
in interface DynamicEntityDao
protected Map<String,FieldMetadata> getMergedPropertiesRecursively(String ceilingEntityFullyQualifiedClassname, Class<?>[] entities, ForeignKey foreignField, String[] additionalNonPersistentProperties, ForeignKey[] additionalForeignFields, MergedPropertyType mergedPropertyType, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded)
protected void applyForeignKeyPrecedence(ForeignKey foreignField, ForeignKey[] additionalForeignFields, Map<String,FieldMetadata> mergedProperties)
protected void applyIncludesAndExcludes(String[] includeFields, String[] excludeFields, String prefix, Boolean isParentExcluded, Map<String,FieldMetadata> mergedProperties)
protected String getCacheKey(ForeignKey foreignField, String[] additionalNonPersistentProperties, ForeignKey[] additionalForeignFields, MergedPropertyType mergedPropertyType, Boolean populateManyToOneFields, Class<?> clazz, String configurationKey, Boolean isParentExcluded)
protected void buildPropertiesFromPolymorphicEntities(Class<?>[] entities, ForeignKey foreignField, String[] additionalNonPersistentProperties, ForeignKey[] additionalForeignFields, MergedPropertyType mergedPropertyType, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, Map<String,FieldMetadata> mergedProperties, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded)
public Field[] getAllFields(Class<?> targetClass)
getAllFields
in interface DynamicEntityDao
public Map<String,FieldMetadata> getPropertiesForPrimitiveClass(String propertyName, String friendlyPropertyName, Class<?> targetClass, Class<?> parentClass, MergedPropertyType mergedPropertyType)
getPropertiesForPrimitiveClass
in interface DynamicEntityDao
public org.hibernate.SessionFactory getSessionFactory()
getSessionFactory
in interface DynamicEntityDao
public Map<String,Object> getIdMetadata(Class<?> entityClass)
getIdMetadata
in interface DynamicEntityDao
public List<String> getPropertyNames(Class<?> entityClass)
getPropertyNames
in interface DynamicEntityDao
public List<org.hibernate.type.Type> getPropertyTypes(Class<?> entityClass)
getPropertyTypes
in interface DynamicEntityDao
protected Map<String,FieldMetadata> getPropertiesForEntityClass(Class<?> targetClass, ForeignKey foreignField, String[] additionalNonPersistentProperties, ForeignKey[] additionalForeignFields, MergedPropertyType mergedPropertyType, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded)
protected void buildProperties(Class<?> targetClass, ForeignKey foreignField, ForeignKey[] additionalForeignFields, String[] additionalNonPersistentProperties, MergedPropertyType mergedPropertyType, Map<String,FieldMetadata> presentationAttributes, List<org.hibernate.mapping.Property> componentProperties, Map<String,FieldMetadata> fields, List<String> propertyNames, List<org.hibernate.type.Type> propertyTypes, String idProperty, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded, Boolean isComponentPrefix)
public Boolean testPropertyInclusion(FieldMetadata presentationAttribute)
protected boolean setExcludedBasedOnShowIfProperty(FieldMetadata fieldMetadata)
protected Boolean testPropertyRecursion(String prefix, List<Class<?>> parentClasses, String propertyName, Class<?> targetClass, String ceilingEntityFullyQualifiedClassname, Boolean isComponentPrefix)
protected void buildBasicProperty(Field field, Class<?> targetClass, ForeignKey foreignField, ForeignKey[] additionalForeignFields, String[] additionalNonPersistentProperties, MergedPropertyType mergedPropertyType, Map<String,FieldMetadata> presentationAttributes, List<org.hibernate.mapping.Property> componentProperties, Map<String,FieldMetadata> fields, String idProperty, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded, String propertyName, org.hibernate.type.Type type, boolean propertyForeignKey, int additionalForeignKeyIndexPosition, Boolean isComponentPrefix)
protected boolean testForeignProperty(ForeignKey foreignField, String prefix, String propertyName)
protected int findAdditionalForeignKeyIndex(ForeignKey[] additionalForeignFields, String prefix, String propertyName)
protected void buildEntityProperties(Map<String,FieldMetadata> fields, ForeignKey foreignField, ForeignKey[] additionalForeignFields, String[] additionalNonPersistentProperties, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, String propertyName, Class<?> returnedClass, Class<?> targetClass, List<Class<?>> parentClasses, String prefix, Boolean isParentExcluded)
protected void buildComponentProperties(Class<?> targetClass, ForeignKey foreignField, ForeignKey[] additionalForeignFields, String[] additionalNonPersistentProperties, MergedPropertyType mergedPropertyType, Map<String,FieldMetadata> fields, String idProperty, Boolean populateManyToOneFields, String[] includeFields, String[] excludeFields, String configurationKey, String ceilingEntityFullyQualifiedClassname, String propertyName, org.hibernate.type.Type type, Class<?> returnedClass, List<Class<?>> parentClasses, Boolean isParentExcluded, String prefix)
public javax.persistence.EntityManager getStandardEntityManager()
getStandardEntityManager
in interface DynamicEntityDao
public void setStandardEntityManager(javax.persistence.EntityManager entityManager)
setStandardEntityManager
in interface DynamicEntityDao
public EJB3ConfigurationDao getEjb3ConfigurationDao()
public void setEjb3ConfigurationDao(EJB3ConfigurationDao ejb3ConfigurationDao)
public FieldManager getFieldManager()
getFieldManager
in interface DynamicEntityDao
public EntityConfiguration getEntityConfiguration()
getEntityConfiguration
in interface DynamicEntityDao
public void setEntityConfiguration(EntityConfiguration entityConfiguration)
setEntityConfiguration
in interface DynamicEntityDao
public Metadata getMetadata()
getMetadata
in interface DynamicEntityDao
public void setMetadata(Metadata metadata)
setMetadata
in interface DynamicEntityDao
public List<FieldMetadataProvider> getFieldMetadataProviders()
public void setFieldMetadataProviders(List<FieldMetadataProvider> fieldMetadataProviders)
public FieldMetadataProvider getDefaultFieldMetadataProvider()
getDefaultFieldMetadataProvider
in interface DynamicEntityDao
public void setDefaultFieldMetadataProvider(FieldMetadataProvider defaultFieldMetadataProvider)
protected boolean isExcludeClassFromPolymorphism(Class<?> clazz)
public DynamicDaoHelper getDynamicDaoHelper()
public void setDynamicDaoHelper(DynamicDaoHelper dynamicDaoHelper)
Copyright © 2014. All rights reserved.