Class CollectionMemberAndAccessorFactory
java.lang.Object
org.exolab.castor.builder.factory.FieldMemberAndAccessorFactory
org.exolab.castor.builder.factory.CollectionMemberAndAccessorFactory
- Direct Known Subclasses:
CollectionJ2MemberAndAccessorFactory
,CollectionODMG30MemberAndAccessorFactory
This factory takes a CollectionInfo and generates the suitable JFields
and the accessor methods into the JClass.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a factory that offers public methods to create the field initialization code as well as the accessor methods. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addMaxSizeCheck
(CollectionInfo fieldInfo, String methodName, JSourceCode sourceCode) Creates the add max size check.final void
createAccessMethods
(FieldInfo fieldInfo, JClass jClass, boolean useJava50, AnnotationBuilder[] annotationBuilders) Adds the getter/setter for this field to the jClass.protected void
createAddByIndexMethod
(CollectionInfo fieldInfo, JClass jClass) Creates the add by index method.protected void
createAddMethod
(CollectionInfo fieldInfo, JClass jClass) Creates the add method for this collection.protected void
createBoundPropertyCode
(CollectionInfo fieldInfo, JSourceCode sourceCode) Creates bound property code..protected void
createCollectionIterationMethods
(CollectionInfo fieldInfo, JClass jClass, boolean useJava50) Generate methods for iterating over the objects in the collection.protected void
createEnumerateMethod
(CollectionInfo fieldInfo, JClass jClass, boolean useJava50) Creates the enumerate method.protected void
createGetByIndexMethod
(CollectionInfo fieldInfo, JClass jClass) Creates the get by index method.protected void
createIteratorMethod
(CollectionInfo fieldInfo, JClass jClass, boolean useJava50) Creates the iterate method.protected void
createRemoveByIndexMethod
(CollectionInfo fieldInfo, JClass jClass) Creates the remove by index method.protected void
createSetByIndexMethod
(CollectionInfo fieldInfo, JClass jClass) Creates the set by index method.void
generateInitializerCode
(FieldInfo fieldInfo, JSourceCode sourceCode) Creates the field initialization code in a constructor.Methods inherited from class org.exolab.castor.builder.factory.FieldMemberAndAccessorFactory
createJavaField, getJavaNaming
-
Constructor Details
-
CollectionMemberAndAccessorFactory
Creates a factory that offers public methods to create the field initialization code as well as the accessor methods.- Parameters:
naming
- JavaNaming to use
-
-
Method Details
-
generateInitializerCode
Creates the field initialization code in a constructor.- Overrides:
generateInitializerCode
in classFieldMemberAndAccessorFactory
- Parameters:
fieldInfo
- the fieldInfo to translatesourceCode
- the JSourceCode in which to add the source to
-
createAccessMethods
public final void createAccessMethods(FieldInfo fieldInfo, JClass jClass, boolean useJava50, AnnotationBuilder[] annotationBuilders) Adds the getter/setter for this field to the jClass.- Overrides:
createAccessMethods
in classFieldMemberAndAccessorFactory
- Parameters:
fieldInfo
- the fieldInfo to translatejClass
- the jclass the jField will be added touseJava50
- java version flag
-
createAddMethod
Creates the add method for this collection.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.
-
createBoundPropertyCode
Creates bound property code..- Parameters:
fieldInfo
- the collectionInfo to translatesourceCode
- the sourceCode to attach to
-
createEnumerateMethod
Creates the enumerate method.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.useJava50
- java version flag
-
createGetByIndexMethod
Creates the get by index method.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.
-
createCollectionIterationMethods
protected void createCollectionIterationMethods(CollectionInfo fieldInfo, JClass jClass, boolean useJava50) Generate methods for iterating over the objects in the collection. For Java-1 collections, we only generate an Enumerator. Implementations for other versions of Java should call this method for backward compatbility and then add any additional new methods.- Parameters:
fieldInfo
- the collectionI to translatejClass
- the JClass to which we add this methoduseJava50
- true if source code is supposed to be generated for Java 5
-
createAddByIndexMethod
Creates the add by index method.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.useJava50
- java version flag
-
createIteratorMethod
Creates the iterate method.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.useJava50
- java version flag
-
createRemoveByIndexMethod
Creates the remove by index method.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.
-
createSetByIndexMethod
Creates the set by index method.- Parameters:
fieldInfo
- the collectionInfo to translatejClass
- the jClass to add the method to.
-
addMaxSizeCheck
Creates the add max size check.- Parameters:
fieldInfo
- the collectionInfo to translatemethodName
- the method namesourceCode
- the sourceCode to attach to
-