org.exolab.castor.builder

Class BuilderConfiguration

public class BuilderConfiguration extends Object

The configuration for the SourceGenerator

Version: $Revision: 1.6 $ $Date: 2005/03/05 13:41:42 $

Author: Keith Visco Arnaud Blandin

Nested Class Summary
static classBuilderConfiguration.Property
Names of properties used in the configuration file.
Constructor Summary
BuilderConfiguration()
Creates a default BuilderConfiguration
Method Summary
booleanboundPropertiesEnabled()
Returns true if bound properties are enabled.
booleanclassDescFieldNames()
Returns true if we generate a 'public static final String' for the name of each attribute and element described by the class descriptor Enabling this property is controlled via the org.exolab.castor.builder.classdescfieldnames item in the castorbuilder.properties file.
booleanequalsMethod()
Returns true if we generate an 'equals' method for each generated class.
booleangenerateExtraCollectionMethods()
Returns true if extra methods for collection fields should be generated.
PropertiesgetDefault()
Returns the default configuration file.
StringgetProperty(String name, String defValue)
Returns a property from the default configuration file.
protected voidload()
Called by BuilderConfiguration to load the configuration the first time.
StringlookupPackageByLocation(String schemaLocation)
Gets a Java package to a schema location.
StringlookupPackageByNamespace(String nsURL)
Gets a Java package to an XML namespace URL
booleanmappingSchemaElement2Java()
Tests the org.exolab.castor.builder.javaclassmapping property for the 'element' value.
booleanmappingSchemaType2Java()
Tests the org.exolab.castor.builder.javaclassmapping property for the 'type' value.
protected voidprocessNamespacePackageMappings(String mappings)
processes the given String which contains namespace-to-package mappings
voidsetClassDescFieldNames(boolean classDescFieldNames)
Sets the 'classDescFieldNames' property
voidsetDefaultProperties(Properties properties)
Overrides the current set of properties with the given properties.
voidsetEqualsMethod(boolean equals)
Sets the 'equalsmethod' property
voidsetLocationPackageMapping(String schemaLocation, String packageName)
Sets the schemaLocation to package mapping
voidsetNamespacePackageMapping(String ns, String packageName)
Sets the namespace to package mapping
voidsetPrimitiveWrapper(boolean wrapper)
Sets the 'primitivetowrapper' property
voidsetUseEnumeratedTypeInterface(boolean flag)
Sets the 'enumTypeAccessInterface' property
booleanuseEnumeratedTypeInterface()
Returns true if we generate the implements EnumeratedTypeAccess interface for enumerated type classes.
booleanusePrimitiveWrapper()
Returns true if primitive types have to be used as Objects (eg. replacing float by java.lang.Float).

Constructor Detail

BuilderConfiguration

public BuilderConfiguration()
Creates a default BuilderConfiguration

Method Detail

boundPropertiesEnabled

public boolean boundPropertiesEnabled()
Returns true if bound properties are enabled. Enabling bound properties is controlled via the org.exolab.castor.builder.boundproperties item in the castorbuilder.properties file. The value is either 'true' or 'false'.

Returns: true if bound properties are enabled.

classDescFieldNames

public boolean classDescFieldNames()
Returns true if we generate a 'public static final String' for the name of each attribute and element described by the class descriptor Enabling this property is controlled via the org.exolab.castor.builder.classdescfieldnames item in the castorbuilder.properties file. The value is either 'true' or 'false'.

Returns: true if bound properties are enabled.

equalsMethod

public boolean equalsMethod()
Returns true if we generate an 'equals' method for each generated class. Enabling this property is controlled via the org.exolab.castor.builder.equalsmethod item in the castorbuilder.properties file. The value is either 'true' or 'false'.

Returns: true if bound properties are enabled.

generateExtraCollectionMethods

public boolean generateExtraCollectionMethods()
Returns true if extra methods for collection fields should be generated. Such methods include set/get methods for the actual collection in addition to the array methods. Enabling extra collection methods is controlled via the org.exolab.castor.builder.extraCollectionMethods property in the castorbuilder.properties file. The value is either 'true' or 'false'.

Returns: true if extra collection methods are enabled.

getDefault

public Properties getDefault()
Returns the default configuration file. Changes to the returned properties set will affect all Castor functions relying on the default configuration.

Returns: The default configuration

getProperty

public String getProperty(String name, String defValue)
Returns a property from the default configuration file. Equivalent to calling getProperty on the result of BuilderConfiguration.

Parameters: name The property name defValue The property's default value

Returns: The property's value

load

protected void load()
Called by BuilderConfiguration to load the configuration the first time. Will not complain about inability to load configuration file from one of the default directories, but if it cannot find the JAR's configuration file, will throw a run time exception.

lookupPackageByLocation

public String lookupPackageByLocation(String schemaLocation)
Gets a Java package to a schema location.

lookupPackageByNamespace

public String lookupPackageByNamespace(String nsURL)
Gets a Java package to an XML namespace URL

mappingSchemaElement2Java

public boolean mappingSchemaElement2Java()
Tests the org.exolab.castor.builder.javaclassmapping property for the 'element' value.

Returns: True if the Source Generator is mapping schema elements to Java classes.

mappingSchemaType2Java

public boolean mappingSchemaType2Java()
Tests the org.exolab.castor.builder.javaclassmapping property for the 'type' value.

Returns: True if the Source Generator is mapping schema types to Java classes.

processNamespacePackageMappings

protected void processNamespacePackageMappings(String mappings)
processes the given String which contains namespace-to-package mappings

Parameters: mappings the namespace-to-package mappings

setClassDescFieldNames

public void setClassDescFieldNames(boolean classDescFieldNames)
Sets the 'classDescFieldNames' property

Parameters: classDescFieldNames the value we want to ues

setDefaultProperties

public void setDefaultProperties(Properties properties)
Overrides the current set of properties with the given properties. Once the properties are set, only a copy will be uses, so any changes to the given properties file after the fact will go unnoticed.

Parameters: properties the Properties file

setEqualsMethod

public void setEqualsMethod(boolean equals)
Sets the 'equalsmethod' property

Parameters: equals: the value we want to use

setLocationPackageMapping

public void setLocationPackageMapping(String schemaLocation, String packageName)
Sets the schemaLocation to package mapping

Parameters: schemaLocation the schemaLocation to map packageName the package name to map to

setNamespacePackageMapping

public void setNamespacePackageMapping(String ns, String packageName)
Sets the namespace to package mapping

Parameters: ns the namespace URI to map packageName the package name

setPrimitiveWrapper

public void setPrimitiveWrapper(boolean wrapper)
Sets the 'primitivetowrapper' property

Parameters: wrapper the value we want to use.

setUseEnumeratedTypeInterface

public void setUseEnumeratedTypeInterface(boolean flag)
Sets the 'enumTypeAccessInterface' property

Parameters: flag the value we want to use

useEnumeratedTypeInterface

public boolean useEnumeratedTypeInterface()
Returns true if we generate the implements EnumeratedTypeAccess interface for enumerated type classes. The value is either 'true' or 'false'

Returns: true if use enumerated type interface is enabled

usePrimitiveWrapper

public boolean usePrimitiveWrapper()
Returns true if primitive types have to be used as Objects (eg. replacing float by java.lang.Float).
Intalio Inc. (C) 1999-2004. All rights reserved http://www.intalio.com