org.exolab.castor.util

Class Configuration

Known Direct Subclasses:
LocalConfiguration

public abstract class Configuration
extends java.lang.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.2 $ $Date: 2003/05/01 07:06:45 $

Authors:
Keith Visco
Assaf Arkin

Nested Class Summary

(package private) static class
Configuration.ConfigValues
Inner class to hold values of the configuration
(package private) static class
Configuration.Features
static class
Configuration.Property
Names of properties used in the configuration file.

Field Summary

(package private) static String
ON_VALUE
(package private) static String
TRUE_VALUE

Constructor Summary

Configuration()
Protected default constructor

Method Summary

boolean
debug()
Returns true if the configuration specifies debugging.
static Properties
getDefault()
Returns the default configuration file.
static boolean
getDefaultDebug()
Returns true if the default configuration specified debugging.
static boolean
getDefaultMarshallingValidation()
Returns true if the default configuration specifies validation in the marshalling framework.
static OutputFormat
getDefaultOutputFormat()
Returns the default OutputFormat for use with a Serializer.
static Parser
getDefaultParser()
Return an XML document parser implementing the feature list specified in the default configuration file.
static Parser
getDefaultParser(String features)
Returns an XML document parser implementing the requested set of features.
static NodeType
getDefaultPrimitiveNodeType()
Returns the NodeType to use for Java primitives.
static String
getDefaultProperty(String name, String defValue)
Returns a property from the default configuration file.
static RegExpEvaluator
getDefaultRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified
static Serializer
getDefaultSerializer()
Returns a default serializer for producing an XML document.
static DocumentHandler
getDefaultSerializer(OutputStream output)
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.
static DocumentHandler
getDefaultSerializer(Writer output)
Returns a default serializer for producing an XML document to the designated output stream using the default serialization format.
static boolean
getDefaultStrictElements()
Access to the property specifying whether to apply strictness to elements when unmarshalling.
static XMLNaming
getDefaultXMLNaming()
Returns the default naming conventions to use for the XML framework
OutputFormat
getOutputFormat()
Returns the currently configured OutputFormat for use with a Serializer.
Parser
getParser()
Return an XML parser implementing the feature list specified in the configuration file.
NodeType
getPrimitiveNodeType()
Returns the currently configured NodeType to use for Java primitives.
Properties
getProperties()
Returns the current properties from the configuration file(s).
String
getProperty(String name, String defValue)
Returns a property from the current configuration.
RegExpEvaluator
getRegExpEvaluator()
Returns a new instance of the specified Regular Expression Evaluator, or null if no validator was specified
Serializer
getSerializer()
Returns a serializer for producing an XML instance document.
DocumentHandler
getSerializer(OutputStream output)
Returns a serializer for producing an XML document to the designated output stream using the default serialization format.
DocumentHandler
getSerializer(Writer output)
Returns a serializer for producing an XML instance document to the designated output stream using the default serialization format.
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.
protected static void
loadDefaults()
Called by getDefault() to load the configuration the first time.
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.
boolean
marshallingValidation()
Returns true if the current configuration (user-supplied or default) specifies validation in the marshalling framework.
boolean
strictElements()
Access to the property specifying whether to apply strictness to elements when unmarshalling.

Field Details

ON_VALUE

(package private) static final String ON_VALUE


TRUE_VALUE

(package private) static final String TRUE_VALUE

Constructor Details

Configuration

(package private)  Configuration()
Protected default constructor

Method Details

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


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.


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)

Parameters:
name - The property name

Returns:
The property's value

See Also:
getProperty


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.

Parameters:

Returns:
A suitable serializer

See Also:
getSerializer


getDefaultSerializer

public static DocumentHandler getDefaultSerializer(OutputStream output)
            throws IOException
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)
            throws IOException
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


getOutputFormat

public 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)

Parameters:
name - The property name

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 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.

Parameters:

Returns:
A suitable serializer

See Also:
getDefaultSerializer


getSerializer

public DocumentHandler getSerializer(OutputStream output)
            throws IOException
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 DocumentHandler getSerializer(Writer output)
            throws IOException
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


loadDefaults

protected static void loadDefaults()
Called by getDefault() 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-2003. All rights reserved http://www.intalio.com