Class AbstractMethodAttribute<X,Y>
java.lang.Object
com.blazebit.persistence.view.impl.metamodel.AbstractAttribute<X,Y>
com.blazebit.persistence.view.impl.metamodel.AbstractMethodAttribute<X,Y>
- All Implemented Interfaces:
Attribute<X,Y>
,MethodAttribute<X,Y>
- Direct Known Subclasses:
AbstractMethodPluralAttribute
,AbstractMethodSingularAttribute
public abstract class AbstractMethodAttribute<X,Y> extends AbstractAttribute<X,Y> implements MethodAttribute<X,Y>
- Since:
- 1.0.0
- Author:
- Christian Beikov
-
Nested Class Summary
Nested classes/interfaces inherited from class com.blazebit.persistence.view.impl.metamodel.AbstractAttribute
AbstractAttribute.ExpressionLocation
Nested classes/interfaces inherited from interface com.blazebit.persistence.view.metamodel.Attribute
Attribute.AttributeType, Attribute.MappingType, Attribute.MemberType
-
Field Summary
Fields inherited from class com.blazebit.persistence.view.impl.metamodel.AbstractAttribute
batchSize, convertedJavaType, correlated, correlationBasis, correlationBasisExpression, correlationExpression, correlationKeyAlias, correlationProvider, correlationProviderFactory, correlationResult, correlationResultExpression, declaringType, EMPTY, fetches, fetchStrategy, id, javaType, limitExpression, mapping, mappingExpression, mappingType, offsetExpression, orderByItems, subqueryAlias, subqueryExpression, subqueryProvider, subqueryProviderFactory, subqueryResultExpression, updateMappableAttribute
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMethodAttribute(ManagedViewTypeImplementor<X> viewType, MethodAttributeMapping mapping, int attributeIndex, MetamodelBuildingContext context, EmbeddableOwner embeddableMapping)
-
Method Summary
Methods inherited from class com.blazebit.persistence.view.impl.metamodel.AbstractAttribute
checkNestedAttribute, createCollectionInstantiator, createMapInstantiator, createSimpleExpression, createValueContainerAccumulator, determineForcedUnique, determineIndexMapping, determineKeyMapping, elementInheritanceSubtypeMappings, getAllowedSubtypes, getBatchSize, getCollectionInstantiator, getCollectionJoinMappings, getCollectionType, getContainerAccumulator, getConvertedJavaType, getCorrelated, getCorrelationBasis, getCorrelationBasisExpression, getCorrelationExpression, getCorrelationKeyAlias, getCorrelationPredicate, getCorrelationProvider, getCorrelationProviderFactory, getCorrelationResult, getCorrelationResultExpression, getDeclaringType, getElementCollectionType, getElementType, getFetches, getFetchStrategy, getJavaType, getKeyFetches, getKeyMappingExpression, getKeyType, getLimitExpression, getMapInstantiator, getMappedBy, getMapping, getMappingExpression, getMappingIndexExpression, getMappingType, getOffsetExpression, getOrderByItems, getParentRequiringCreateSubtypes, getParentRequiringUpdateSubtypes, getSubqueryAlias, getSubqueryExpression, getSubqueryProvider, getSubqueryProviderFactory, getUpdateCascadeAllowedSubtypes, getUpdateMappableAttribute, hasJoinFetchedCollections, hasJpaManagedAttributes, hasSelectOrSubselectFetchedAttributes, isDisallowOwnedUpdatableSubview, isElementCollectionForcedUnique, isElementCollectionOrdered, isElementCollectionSorted, isEmbedded, isFilterNulls, isForcedUnique, isId, isIndexed, isKeySubview, isMutable, isQueryParameter, isSorted, isSubquery, isUpdatable, isUpdateCascaded, isUpdateMappable, keyInheritanceSubtypeMappings, parseOrderByItems, renderCorrelationBasis, renderCorrelationResult, renderExpression, renderLimit, renderMapping, renderSubqueryExpression, renderSubqueryExpression, replaceThisFromMapping, stripThisFromMapping
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.blazebit.persistence.view.metamodel.Attribute
getAttributeType, getBatchSize, getConvertedJavaType, getDeclaringType, getFetches, getFetchStrategy, getJavaType, getLimitExpression, getMappingType, getOffsetExpression, getOrderByItems, isCollection, isCorrelated, isSubquery, isSubview, renderLimit
Methods inherited from interface com.blazebit.persistence.view.metamodel.MethodAttribute
getAllowedSubtypes, getInverseRemoveStrategy, getMappedBy, getParentRequiringCreateSubtypes, getParentRequiringUpdateSubtypes, getPersistCascadeAllowedSubtypes, getReadOnlyAllowedSubtypes, getUpdateCascadeAllowedSubtypes, isDeleteCascaded, isMutable, isOptimisticLockProtected, isOrphanRemoval, isPersistCascaded, isUpdatable, isUpdateCascaded
-
Constructor Details
-
AbstractMethodAttribute
protected AbstractMethodAttribute(ManagedViewTypeImplementor<X> viewType, MethodAttributeMapping mapping, int attributeIndex, MetamodelBuildingContext context, EmbeddableOwner embeddableMapping)
-
-
Method Details
-
getViewTypes
-
getTypeArguments
- Specified by:
getTypeArguments
in classAbstractAttribute<X,Y>
-
determineDirtyStateIndex
protected int determineDirtyStateIndex(int dirtyStateIndex) -
determinePersistSubtypeSet
protected Set<Type<?>> determinePersistSubtypeSet(Type<?> superType, Set<ManagedViewTypeImplementor<?>> subtypes1, Set<ManagedViewTypeImplementor<?>> subtypes2, MetamodelBuildingContext context) -
determineUpdateSubtypeSet
protected Set<Type<?>> determineUpdateSubtypeSet(Type<?> superType, Set<ManagedViewTypeImplementor<?>> subtypes1, Set<ManagedViewTypeImplementor<?>> subtypes2, MetamodelBuildingContext context) -
determineMutable
-
createCollectionFactory
protected final PluralObjectFactory<? extends Collection<?>> createCollectionFactory(MetamodelBuildingContext context) -
createMapFactory
protected final PluralObjectFactory<? extends Map<?,?>> createMapFactory(MetamodelBuildingContext context) -
determineOptimisticLockProtected
protected boolean determineOptimisticLockProtected(MethodAttributeMapping mapping, MetamodelBuildingContext context, boolean mutable) -
checkAttribute
public void checkAttribute(javax.persistence.metamodel.ManagedType<?> managedType, MetamodelBuildingContext context)- Overrides:
checkAttribute
in classAbstractAttribute<X,Y>
-
getAttributeName
-
getLocation
- Specified by:
getLocation
in classAbstractAttribute<X,Y>
-
getName
- Specified by:
getName
in interfaceMethodAttribute<X,Y>
-
getJavaMethod
- Specified by:
getJavaMethod
in interfaceMethodAttribute<X,Y>
-
needsDirtyTracker
public boolean needsDirtyTracker()- Specified by:
needsDirtyTracker
in classAbstractAttribute<X,Y>
-
hasDirtyStateIndex
public boolean hasDirtyStateIndex()- Specified by:
hasDirtyStateIndex
in classAbstractAttribute<X,Y>
-
getSetterMethod
-
getAttributeIndex
public int getAttributeIndex() -
getValue
-
getDirtyStateIndex
public abstract int getDirtyStateIndex() -
isUpdatableOnly
public boolean isUpdatableOnly() -
getWritableMappedByMappings
-
createAllowedSubtypesSet
-
createParentRequiringUpdateSubtypesSet
-
createParentRequiringCreateSubtypesSet
-
isOptimizeCollectionActionsEnabled
public boolean isOptimizeCollectionActionsEnabled()- Specified by:
isOptimizeCollectionActionsEnabled
in classAbstractAttribute<X,Y>
-
getMemberType
- Specified by:
getMemberType
in interfaceAttribute<X,Y>
-
getFilter
- Specified by:
getFilter
in interfaceMethodAttribute<X,Y>
-
getFilters
- Specified by:
getFilters
in interfaceMethodAttribute<X,Y>
-
extractAttributeName
public static String extractAttributeName(Class<?> viewType, Method m, MetamodelBootContext context)
-