org.castor.jdo.jpa.processors.fieldprocessors
Class JPAManyToManyProcessor

java.lang.Object
  extended by org.castor.jdo.jpa.processors.BaseJPAAnnotationProcessor
      extended by org.castor.jdo.jpa.processors.fieldprocessors.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

Constructor Summary
JPAManyToManyProcessor()
           
 
Method Summary
 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 org.castor.jdo.jpa.processors.BaseJPAAnnotationProcessor
processAnnotation
 
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:
processAnnotation(BaseNature, Annotation, AnnotatedElement)


Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com