Class AbstractCollectionMetadataGenerator
- java.lang.Object
-
- org.hibernate.envers.configuration.internal.metadata.AbstractMetadataGenerator
-
- org.hibernate.envers.configuration.internal.metadata.AbstractCollectionMetadataGenerator
-
- Direct Known Subclasses:
JoinColumnCollectionMetadataGenerator,MiddleTableCollectionMetadataGenerator
public abstract class AbstractCollectionMetadataGenerator extends AbstractMetadataGenerator
Abstract base class for various collection-based metadata generators.
-
-
Constructor Summary
Constructors Constructor Description AbstractCollectionMetadataGenerator(EnversMetadataBuildingContext metadataBuildingContext, BasicMetadataGenerator basicMetadataGenerator, ValueMetadataGenerator valueMetadataGenerator)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidaddAttributesToEntity(RootPersistentEntity entity, List<Attribute> attributes)abstract voidaddCollection(CollectionMetadataContext context)Entry point for all collection-based metadata generators where the collection will be inspected and the appropriate boot and runtime mappings are generated.protected MiddleComponentDataaddIndex(CollectionMetadataContext context, RootPersistentEntity middleEntity, QueryGeneratorBuilder queryGeneratorBuilder)protected voidaddMapper(CollectionMetadataContext context, CommonCollectionMapperData commonCollectionMapperData, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData)protected MiddleComponentDataaddValueToMiddleTable(CollectionMetadataContext context, Value value, RootPersistentEntity entity, QueryGeneratorBuilder queryGeneratorBuilder, String prefix, AuditJoinTableData joinTableData, boolean key)protected CommonCollectionMapperDatacreateCommonCollectionMapperData(CollectionMetadataContext context, String entityName, MiddleIdData idData, RelationQueryGenerator queryGenerator)protected MiddleIdDatacreateMiddleIdData(IdMappingData idMappingData, String prefix, String entityName)protected StringgetOrderBy(Collection collection)protected StringgetOrderByCollectionRole(Collection collection, String orderBy)protected List<Attribute>getPrefixedIdAttributes(String prefix, ColumnNameIterator iterator, IdMappingData idMapping)protected booleanisEmbeddableElementType(CollectionMetadataContext context)protected booleanisLobMapElementType(CollectionMetadataContext context)Returns whether the collection is a map-type and that the map element is defined as a Clob/NClob type.-
Methods inherited from class org.hibernate.envers.configuration.internal.metadata.AbstractMetadataGenerator
addAuditedEntityConfiguration, addAuditStrategyAdditionalColumnsToEntity, addAuditStrategyRevisionEndTimestampOnly, addNotAuditedEntityConfiguration, addRevisionInfoRelationToIdentifier, addRevisionTypeToAttributeContainer, getAuditedEntityConfiguration, getAuditedEntityConfigurations, getCatalogName, getMetadataBuildingContext, getNotAuditedEntityConfiguration, getNotAuditedEntityConfigurations, getReferencedIdMappingData, getSchemaName, hasAuditedEntityConfiguration, hasNotAuditedEntityConfiguration, throwUnsupportedTypeException
-
-
-
-
Constructor Detail
-
AbstractCollectionMetadataGenerator
public AbstractCollectionMetadataGenerator(EnversMetadataBuildingContext metadataBuildingContext, BasicMetadataGenerator basicMetadataGenerator, ValueMetadataGenerator valueMetadataGenerator)
-
-
Method Detail
-
addCollection
public abstract void addCollection(CollectionMetadataContext context)
Entry point for all collection-based metadata generators where the collection will be inspected and the appropriate boot and runtime mappings are generated.- Parameters:
context- the per-collection metadata context
-
createMiddleIdData
protected MiddleIdData createMiddleIdData(IdMappingData idMappingData, String prefix, String entityName)
-
getPrefixedIdAttributes
protected List<Attribute> getPrefixedIdAttributes(String prefix, ColumnNameIterator iterator, IdMappingData idMapping)
-
addAttributesToEntity
protected void addAttributesToEntity(RootPersistentEntity entity, List<Attribute> attributes)
-
createCommonCollectionMapperData
protected CommonCollectionMapperData createCommonCollectionMapperData(CollectionMetadataContext context, String entityName, MiddleIdData idData, RelationQueryGenerator queryGenerator)
-
getOrderBy
protected String getOrderBy(Collection collection)
-
getOrderByCollectionRole
protected String getOrderByCollectionRole(Collection collection, String orderBy)
-
addIndex
protected MiddleComponentData addIndex(CollectionMetadataContext context, RootPersistentEntity middleEntity, QueryGeneratorBuilder queryGeneratorBuilder)
-
addValueToMiddleTable
protected MiddleComponentData addValueToMiddleTable(CollectionMetadataContext context, Value value, RootPersistentEntity entity, QueryGeneratorBuilder queryGeneratorBuilder, String prefix, AuditJoinTableData joinTableData, boolean key)
-
addMapper
protected void addMapper(CollectionMetadataContext context, CommonCollectionMapperData commonCollectionMapperData, MiddleComponentData elementComponentData, MiddleComponentData indexComponentData)
-
isLobMapElementType
protected boolean isLobMapElementType(CollectionMetadataContext context)
Returns whether the collection is a map-type and that the map element is defined as a Clob/NClob type.- Returns:
trueif the element is a Clob/NClob type, otherwisefalse.
-
isEmbeddableElementType
protected boolean isEmbeddableElementType(CollectionMetadataContext context)
-
-