Package org.hibernate.models.internal
Class OrmAnnotationDescriptor<A extends Annotation,C extends A>
java.lang.Object
org.hibernate.models.internal.AbstractAnnotationTarget
org.hibernate.models.internal.AbstractAnnotationDescriptor<A>
org.hibernate.models.internal.OrmAnnotationDescriptor<A,C>
- All Implemented Interfaces:
AnnotationTargetSupport,Storable<AnnotationDescriptor<A>,,SerialAnnotationDescriptor<A>> AnnotationDescriptor<A>,AnnotationTarget,MutableAnnotationDescriptor<A,,C> MutableAnnotationTarget
public class OrmAnnotationDescriptor<A extends Annotation,C extends A>
extends AbstractAnnotationDescriptor<A>
implements MutableAnnotationDescriptor<A,C>
Specialized AnnotationDescriptor implementation intended for use in describing
Hibernate and JPA annotations. Note especially that this implementation
does not collect annotations from the annotation class as we never care about
meta-annotations in these cases.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classOrmAnnotationDescriptor.DeTypedCreator<A extends Annotation,C extends A> static classOrmAnnotationDescriptor.DynamicCreator<A extends Annotation,C extends A> static classOrmAnnotationDescriptor.JdkCreator<A extends Annotation,C extends A> Nested classes/interfaces inherited from interface org.hibernate.models.spi.AnnotationTarget
AnnotationTarget.AnnotationUsageProcessor<T,A extends Annotation>, AnnotationTarget.Kind -
Constructor Summary
ConstructorsConstructorDescriptionOrmAnnotationDescriptor(Class<A> annotationType, Class<C> concreteClass) OrmAnnotationDescriptor(Class<A> annotationType, Class<C> concreteClass, AnnotationDescriptor<?> repeatableContainer) -
Method Summary
Modifier and TypeMethodDescriptioncreateUsage(A jdkAnnotation, ModelsContext context) Create a usage from the JDK representation.createUsage(Map<String, Object> attributeValues, ModelsContext context) Create a usage from the JDK representation.createUsage(ModelsContext context) Create an empty usage.The attributes of the annotationThe mutable contract for the given annotationMap<Class<? extends Annotation>, ? extends Annotation> Access to all annotation usages on this target.toString()Methods inherited from class org.hibernate.models.internal.AbstractAnnotationDescriptor
asAnnotationDescriptor, asClassDetails, asFieldDetails, asMemberDetails, asMethodDetails, asRecordComponentDetails, getAllowableTargets, getAnnotationType, getDirectAnnotationUsages, getName, getRepeatableContainer, getRepeatedAnnotationUsages, getRepeatedAnnotationUsages, isInheritedMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.hibernate.models.spi.AnnotationDescriptor
as, asAnnotationDescriptor, asClassDetails, asFieldDetails, asMemberDetails, asMethodDetails, asRecordComponentDetails, findAttribute, getAllowableTargets, getAnnotationType, getAttribute, getContainer, getKind, getRepeatableContainer, isInherited, isRepeatable, toStorableFormMethods inherited from interface org.hibernate.models.spi.AnnotationTarget
forEachAnnotationUsage, forEachAnnotationUsage, forEachDirectAnnotationUsage, fromAnnotations, fromContainers, fromSelfAndContainers, getName, getNamedAnnotationUsage, getRepeatedAnnotationUsages, walkContainers, walkSelfAndContainersMethods inherited from interface org.hibernate.models.internal.AnnotationTargetSupport
addAnnotationUsage, clearAnnotationUsages, forEachRepeatedAnnotationUsages, forEachRepeatedAnnotationUsages, getAnnotationUsage, getAnnotationUsage, getDirectAnnotationUsage, getDirectAnnotationUsage, getMetaAnnotated, getNamedAnnotationUsage, getNamedAnnotationUsage, getNamedAnnotationUsage, hasAnnotationUsage, hasDirectAnnotationUsage, locateAnnotationUsage, removeAnnotationUsage, replaceAnnotationUsageMethods inherited from interface org.hibernate.models.spi.MutableAnnotationTarget
applyAnnotationUsage, replaceAnnotationUsage
-
Constructor Details
-
OrmAnnotationDescriptor
-
OrmAnnotationDescriptor
public OrmAnnotationDescriptor(Class<A> annotationType, Class<C> concreteClass, AnnotationDescriptor<?> repeatableContainer)
-
-
Method Details
-
getMutableAnnotationType
Description copied from interface:MutableAnnotationDescriptorThe mutable contract for the given annotation- Specified by:
getMutableAnnotationTypein interfaceMutableAnnotationDescriptor<A extends Annotation,C extends A>
-
getUsageMap
Description copied from interface:AnnotationTargetSupportAccess to all annotation usages on this target.- Specified by:
getUsageMapin interfaceAnnotationTargetSupport
-
createUsage
Description copied from interface:AnnotationDescriptorCreate an empty usage. Used when there is no source form, such as XML processing.- Specified by:
createUsagein interfaceAnnotationDescriptor<A extends Annotation>
-
createUsage
Description copied from interface:AnnotationDescriptorCreate a usage from the JDK representation. This will often just return the passed annotation, although for Hibernate and JPA annotations we generally want wrappers to be able to manipulate the values.- Specified by:
createUsagein interfaceAnnotationDescriptor<A extends Annotation>
-
createUsage
Description copied from interface:AnnotationDescriptorCreate a usage from the JDK representation. This will often just return the passed annotation, although for Hibernate and JPA annotations we generally want wrappers to be able to manipulate the values.- Specified by:
createUsagein interfaceAnnotationDescriptor<A extends Annotation>
-
getAttributes
Description copied from interface:AnnotationDescriptorThe attributes of the annotation- Specified by:
getAttributesin interfaceAnnotationDescriptor<A extends Annotation>
-
toString
-