Class JPAManyToManyProcessor

  • All Implemented Interfaces:
    AnnotationProcessor, TargetAwareAnnotationProcessor

    public class JPAManyToManyProcessor
    extends BaseJPAAnnotationProcessor
    Processes the JPA annotation ManyToMany. This is the most complex processor. After this processor is done, we know, that we have 2 fields that have a well defined relation to each other. This processor checks for target entities, relationship owning and checks that there is at least one join definition for this relation. After this processor is done, all 5 relation linked methods (and of cource the Many2Many related ones) of JPAFieldNature will return valid values.
    Version:
    05.02.2009
    Author:
    Peter Schmidt
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Class<? extends java.lang.annotation.Annotation> forAnnotationClass()
      Returns for which Annotation this processor is meant.
      <I extends BaseNature,​A extends java.lang.annotation.Annotation>
      boolean
      processAnnotation​(I info, A annotation, java.lang.reflect.AnnotatedElement target)
      The processing action of this processor.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • JPAManyToManyProcessor

        public JPAManyToManyProcessor()
    • Method Detail

      • forAnnotationClass

        public java.lang.Class<? extends java.lang.annotation.Annotation> forAnnotationClass()
        Returns for which Annotation this processor is meant.
        Returns:
        the Class for which this processor is meant
        See Also:
        AnnotationProcessor.forAnnotationClass()
      • processAnnotation

        public <I extends BaseNature,​A extends java.lang.annotation.Annotation> boolean processAnnotation​(I info,
                                                                                                                A annotation,
                                                                                                                java.lang.reflect.AnnotatedElement target)
                                                                                                         throws AnnotationTargetException
        The processing action of this processor. If an annotation is given which is not supported false is returned.
        Parameters:
        info - the Info class that should be filled with the information read
        annotation - the annotation to process
        target - the target (Field, Class, etc.) of the given annotation
        Returns:
        true, if the annotation was processed successfully, false if not
        Throws:
        AnnotationTargetException - if an annotation is used in a context that is not valid.
        See Also:
        AnnotatedElement