org.exolab.castor.util

Class Configuration

public abstract class Configuration extends Object

Provides default configuration for Castor components from the castor.properties configuration file. All Castor features rely on the central configuration file.

The configuration file is loaded from the Java lib directory, the classpath and the Castor JAR. Properties set in the classpath file takes precedence over properties set in the Java library configuration file and properties set in the Castor JAR, allowing for each customization. All three files are named castor.properties.

For example, to change the parser in use, specify that all documents should be printed with identantion or turn debugging on, create a new configuration file in the current directory, instead of modifying the global one.

Version: $Revision: 1.8 $ $Date: 2005/04/24 15:34:12 $

Author: Keith Visco Assaf Arkin

Nested Class Summary
static classConfiguration.ConfigValues
Inner class to hold values of the configuration
static classConfiguration.Features
static classConfiguration.Property
Names of properties used in the configuration file.
Field Summary
static StringON_VALUE
static StringTRUE_VALUE
Constructor Summary
Configuration()
Protected default constructor
Method Summary
booleandebug()
Returns true if the configuration specifies debugging.
static PropertiesgetDefault()
Returns the default configuration file.
static booleangetDefaultDebug()
Returns true if the default configuration specified debugging.
static booleangetDefaultMarshallingValidation()
Returns true if the default configuration specifies validation in the marshalling framework.
static OutputFormatgetDefaultOutputFormat()
Returns the default OutputFormat for use with a Serializer.
static ParsergetDefaultParser()
Return an XML document parser implementing the feature list specified in the default configuration file.
static ParsergetDefaultParser(String features)
Returns an XML document parser implementing the requested set of features.
static NodeTypegetDefaultPrimitiveNodeType()
Returns the NodeType to use for Java primitives.
static StringgetDefaultProperty(String name, String defValue)
Returns a property from the default configuration file.
static RegExpEvaluatorgetDefaultRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified
static SerializergetDefaultSerializer()
Returns a default serializer for producing an XML document.
static DocumentHandlergetDefaultSerializer(OutputStream output)
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.
static DocumentHandlergetDefaultSerializer(Writer output)
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.
static booleangetDefaultStrictElements()
Access to the property specifying whether to apply strictness to elements when unmarshalling.
static XMLNaminggetDefaultXMLNaming()
Returns the default naming conventions to use for the XML framework
static XMLReadergetDefaultXMLReader()
Returns an XML document parser implementing the requested set of features.
static XMLReadergetDefaultXMLReader(String features)
Returns an XML document parser implementing the requested set of features.
abstract OutputFormatgetOutputFormat()
Returns the currently configured OutputFormat for use with a Serializer.
ParsergetParser()
Return an XML parser implementing the feature list specified in the configuration file.
NodeTypegetPrimitiveNodeType()
Returns the currently configured NodeType to use for Java primitives.
PropertiesgetProperties()
Returns the current properties from the configuration file(s).
StringgetProperty(String name, String defValue)
Returns a property from the current configuration.
RegExpEvaluatorgetRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified
abstract SerializergetSerializer()
Returns a serializer for producing an XML instance document.
abstract DocumentHandlergetSerializer(OutputStream output)
Returns a serializer for producing an XML document to the designated output stream using the default serialization format.
abstract DocumentHandlergetSerializer(Writer output)
Returns a serializer for producing an XML instance document to the designated output stream using the default serialization format.
XMLNaminggetXMLNaming()
Returns the currently configured naming conventions to use for the XML framework Design note: This method should be overloaded by any sub-classes.
XMLReadergetXMLReader()
Returns an XML document parser implementing the requested set of features.
protected static voidloadDefaults()
Called by Configuration to load the configuration the first time.
static PropertiesloadProperties(String resourceName, String fileName)
Load the configuration 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.
booleanmarshallingValidation()
Returns true if the current configuration (user-supplied or default) specifies validation in the marshalling framework.
booleanstrictElements()
Access to the property specifying whether to apply strictness to elements when unmarshalling.

Field Detail

ON_VALUE

static final String ON_VALUE

TRUE_VALUE

static final String TRUE_VALUE

Constructor Detail

Configuration

Configuration()
Protected default constructor

Method Detail

debug

public boolean debug()
Returns true if the configuration specifies debugging. Design note: This method should be overloaded by any sub-classes.

See Also: getDefaultDebug

UNKNOWN: true if the configuration specifies debugging.

getDefault

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

Returns: the default configuration properties

See Also: getProperties

getDefaultDebug

public static boolean getDefaultDebug()
Returns true if the default configuration specified debugging.

UNKNOWN: true if the configuration specifies debugging.

getDefaultMarshallingValidation

public static boolean getDefaultMarshallingValidation()
Returns true if the default configuration specifies validation in the marshalling framework.

Returns: true if by default validation should be performed during the marshalling and unmarshalling process, otherwise false.

See Also: marshallingValidation

getDefaultOutputFormat

public static OutputFormat getDefaultOutputFormat()
Returns the default OutputFormat for use with a Serializer.

Returns: the default OutputFormat

getDefaultParser

public static Parser getDefaultParser()
Return an XML document parser implementing the feature list specified in the default configuration file.

Returns: a suitable XML parser

See Also: getParser

getDefaultParser

public static Parser getDefaultParser(String features)
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Parameters: features The requested feature list, null for the defaults

Returns: A suitable XML parser

getDefaultPrimitiveNodeType

public static NodeType getDefaultPrimitiveNodeType()
Returns the NodeType to use for Java primitives. A null value will be returned if no NodeType was specified, indicating the default NodeType should be used.

Returns: the NodeType assigned to Java primitives, or null if no NodeType was specified.

See Also: getPrimitiveNodeType

getDefaultProperty

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

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

Returns: The property's value

See Also: Configuration

getDefaultRegExpEvaluator

public static RegExpEvaluator getDefaultRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified

Returns: the regular expression evaluator,

See Also: getRegExpEvaluator

getDefaultSerializer

public static Serializer getDefaultSerializer()
Returns a default serializer for producing an XML document. The caller can specify an alternative output format, may reuse this serializer across several streams, and may serialize both DOM and SAX events. If such control is not required, it is recommended to call one of the other two methods.

Returns: A suitable serializer

See Also: getSerializer

getDefaultSerializer

public static DocumentHandler getDefaultSerializer(OutputStream output)
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.

Parameters: output the output stream

Returns: A suitable serializer

getDefaultSerializer

public static DocumentHandler getDefaultSerializer(Writer output)
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.

Parameters: output the Writer to write data to.

Returns: A suitable serializer

getDefaultStrictElements

public static boolean getDefaultStrictElements()
Access to the property specifying whether to apply strictness to elements when unmarshalling. Default is true which means that elements appearing in the XML Documnt which cannot be mapped to a class cause a SAXException to be thrown. If set to false, these 'unknown' elements are ignored

Returns: true if element processing should be "strict".

See Also: strictElements

getDefaultXMLNaming

public static XMLNaming getDefaultXMLNaming()
Returns the default naming conventions to use for the XML framework

Returns: the default naming conventions to use for the XML framework

getDefaultXMLReader

public static XMLReader getDefaultXMLReader()
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Returns: A suitable XML parser

getDefaultXMLReader

public static XMLReader getDefaultXMLReader(String features)
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Parameters: features The requested feature list, null for the defaults

Returns: A suitable XML parser

getOutputFormat

public abstract OutputFormat getOutputFormat()
Returns the currently configured OutputFormat for use with a Serializer. Design note: This method should be overloaded by any sub-classes.

Returns: the currently configured OutputFormat.

See Also: getDefaultOutputFormat

getParser

public Parser getParser()
Return an XML parser implementing the feature list specified in the configuration file. Design note: This method should be overloaded by any sub-classes.

Returns: a suitable XML parser

See Also: getDefaultParser

getPrimitiveNodeType

public NodeType getPrimitiveNodeType()
Returns the currently configured NodeType to use for Java primitives. A null value will be returned if no NodeType was specified, indicating the default NodeType should be used. Design note: This method should be overloaded by any sub-classes.

Returns: the NodeType assigned to Java primitives, or null if no NodeType was specified.

See Also: getDefaultPrimitiveNodeType

getProperties

public Properties getProperties()
Returns the current properties from the configuration file(s). The Properties returned may be empty, but never null. Design note: This method should be overloaded by any sub-classes.

Returns: the current set of configuration properties.

See Also: getDefault

getProperty

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

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

Returns: The property's value

See Also: getDefaultProperty getProperties

getRegExpEvaluator

public RegExpEvaluator getRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified

Returns: the regular expression evaluator,

See Also: getDefaultRegExpEvaluator

getSerializer

public abstract Serializer getSerializer()
Returns a serializer for producing an XML instance document. The caller can specify an alternative output format, may reuse this serializer across several streams, and may serialize both DOM and SAX events. Design note: This method should be overloaded by any sub-classes.

Returns: A suitable serializer

See Also: getDefaultSerializer

getSerializer

public abstract DocumentHandler getSerializer(OutputStream output)
Returns a serializer for producing an XML document to the designated output stream using the default serialization format. Design note: This method should be overloaded by any sub-classes.

Parameters: output the output stream

Returns: A suitable serializer

getSerializer

public abstract DocumentHandler getSerializer(Writer output)
Returns a serializer for producing an XML instance document to the designated output stream using the default serialization format. Design note: This method should be overloaded by any sub-classes.

Parameters: output the Writer to write data to.

Returns: A suitable serializer

getXMLNaming

public XMLNaming getXMLNaming()
Returns the currently configured naming conventions to use for the XML framework Design note: This method should be overloaded by any sub-classes.

Returns: the currently configured naming conventions to use for the XML framework

See Also: getDefaultXMLNaming

getXMLReader

public XMLReader getXMLReader()
Returns an XML document parser implementing the requested set of features. The feature list is a comma separated list of features that parser may or may not support. No errors are generated for unsupported features. If the feature list is not null, it overrides the default feature list specified in the configuration file, including validation and Namespaces.

Returns: A suitable XML parser

loadDefaults

protected static void loadDefaults()
Called by Configuration 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.

loadProperties

public static Properties loadProperties(String resourceName, String fileName)
Load the configuration 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.

marshallingValidation

public boolean marshallingValidation()
Returns true if the current configuration (user-supplied or default) specifies validation in the marshalling framework. Design note: This method should be overloaded by any sub-classes.

Returns: true if by default validation should be performed during the marshalling and unmarshalling process, otherwise false.

See Also: getDefaultMarshallingValidation

strictElements

public boolean strictElements()
Access to the property specifying whether to apply strictness to elements when unmarshalling. Default is true which means that elements appearing in the XML Documnt which cannot be mapped to a class cause a SAXException to be thrown. If set to false, these 'unknown' elements are ignored. Design note: This method should be overloaded by any sub-classes.

Returns: true if element processing should be "strict".

See Also: getDefaultStrictElements

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