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
abstract 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
abstract Serializer
getSerializer()
Returns a serializer for producing an XML instance document.
abstract DocumentHandler
getSerializer(OutputStream output)
Returns a serializer for producing an XML document to the designated output stream using the default serialization format.
abstract 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 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)
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 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.
Parameters:
Returns:
A suitable serializer
See Also:
getDefaultSerializer

getSerializer

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