org.exolab.castor.builder.factory

Class FieldInfoFactory


public class FieldInfoFactory
extends java.lang.Object

This class is used as a factory to create all the FieldInfo objects used by the source generator. You may override the FieldInfo classes and this factory for specific adaptions.
Version:
$Revision: 7148 $ $Date: 2005-03-05 06:42:06 -0700 (Sat, 05 Mar 2005) $
Authors:
Frank Thelen
Arnaud Blandin

Constructor Summary

FieldInfoFactory()
Creates a new FieldInfoFactory.
FieldInfoFactory(String collectionName)
Creates a new FieldInfoFactory of the given type.

Method Summary

CollectionInfo
createCollection(XSType contentType, String name, String elementName, String collectionName, JavaNaming javaNaming, boolean useJava50)
Creates a CollectionInfo instance based upon the various parameters provided.
CollectionInfo
createCollection(XSType contentType, String name, String elementName, JavaNaming javaNaming, boolean usejava50)
Creates a CollectionInfo instance based upon the various parameters provided.
FieldInfo
createFieldInfo(XSType type, String name)
Creates a FieldInfo instance for the given XSType and its name.
IdentityInfo
createIdentity(String name)
Creates an IdentityInfo instance for the given name.
void
setBoundProperties(boolean bound)
Sets whether or not the fields should be bound properties.
void
setCreateExtraMethods(boolean extraMethods)
Sets whether or not to create extra collection methods for accessing the actual collection.
void
setReferenceMethodSuffix(String suffix)
Sets the method suffix (ending) to use when creating the extra collection methods.

Constructor Details

FieldInfoFactory

public FieldInfoFactory()
Creates a new FieldInfoFactory. The default collection used will be Java 1 type.

FieldInfoFactory

public FieldInfoFactory(String collectionName)
Creates a new FieldInfoFactory of the given type.
Parameters:
collectionName - The type for the FieldInfoFactory.

Method Details

createCollection

public CollectionInfo createCollection(XSType contentType,
                                       String name,
                                       String elementName,
                                       String collectionName,
                                       JavaNaming javaNaming,
                                       boolean useJava50)
Creates a CollectionInfo instance based upon the various parameters provided.
Parameters:
contentType - Content type of the collection.
name - Name of the collection member.
elementName - Name of the (content) element.
collectionName - Name of the collection.
javaNaming - the Java naming to be used
useJava50 - Whether we are targeting Java 5.0 or above or not
Returns:
A CollectionInfo instance representing a collection typed member.

createCollection

public CollectionInfo createCollection(XSType contentType,
                                       String name,
                                       String elementName,
                                       JavaNaming javaNaming,
                                       boolean usejava50)
Creates a CollectionInfo instance based upon the various parameters provided.
Parameters:
contentType - Content type of the collection.
name - Name of the collection member.
elementName - Name of the (content) element.
javaNaming - the Java naming to be used
usejava50 - Whether we are targeting Java 5.0 or above or not
Returns:
A CollectionInfo instance representing a collection typed member.
See Also:
createCollection(XSType, String, String, String, boolean)

createFieldInfo

public FieldInfo createFieldInfo(XSType type,
                                 String name)
Creates a FieldInfo instance for the given XSType and its name.
Parameters:
type - XSType of the field.
name - Field name.
Returns:
The FieldInfo instance just created.

createIdentity

public IdentityInfo createIdentity(String name)
Creates an IdentityInfo instance for the given name.
Parameters:
name - Identity field name.
Returns:
The IdentityInfo instance just created.

setBoundProperties

public final void setBoundProperties(boolean bound)
Sets whether or not the fields should be bound properties.
Parameters:
bound - a boolean that when true indicates the FieldInfo should have the bound property enabled.

setCreateExtraMethods

public final void setCreateExtraMethods(boolean extraMethods)
Sets whether or not to create extra collection methods for accessing the actual collection.
Parameters:
extraMethods - a boolean that when true indicates that extra collection accessor methods should be created. False by default.
See Also:
org.exolab.castor.builder.FieldInfoFactory.setReferenceMethodSuffix

setReferenceMethodSuffix

public final void setReferenceMethodSuffix(String suffix)
Sets the method suffix (ending) to use when creating the extra collection methods.
Parameters:
suffix - the method suffix to use when creating the extra collection methods. If null or emtpty the default value, as specified in CollectionInfo will be used.
See Also:
org.exolab.castor.builder.FieldInfoFactory.setCreateExtraMethods

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