org.apache.commons.digester3.binder
Class DigesterLoader

java.lang.Object
  extended by org.apache.commons.digester3.binder.DigesterLoader

public final class DigesterLoader
extends Object

This class manages the creation of Digester instances from digester rules modules.


Method Summary
 void addRules(Digester digester)
          Add rules to an already created Digester instance, analyzing the digester annotations in the target class.
 RuleSet createRuleSet()
          Creates a new RuleSet instance based on the current configuration.
 Locator getDocumentLocator()
          Gets the document locator associated with our parser.
 ErrorHandler getErrorHandler()
          Return the error handler for this Digester.
 ExecutorService getExecutorService()
          Returns the executor service used to run asynchronous parse method.
 Map<String,URL> getRegistrations()
          Return the set of DTD URL registrations, keyed by public identifier.
 boolean isNamespaceAware()
          Return the "namespace aware" flag for parsers we create.
 boolean isValidating()
          Return the validating parser flag.
 boolean isXIncludeAware()
          Return the XInclude-aware flag for parsers we create;
 Digester newDigester()
          Creates a new Digester instance that relies on the default Rules implementation.
 Digester newDigester(Rules rules)
          Creates a new Digester instance that relies on the custom user define Rules implementation
 Digester newDigester(SAXParser parser)
          Creates a new Digester instance that relies on the given SAXParser and the default Rules implementation.
 Digester newDigester(SAXParser parser, Rules rules)
          Creates a new Digester instance that relies on the given SAXParser and custom user define Rules implementation.
 Digester newDigester(XMLReader reader)
          Creates a new XMLReader instance that relies on the given XMLReader and the default Rules implementation.
 Digester newDigester(XMLReader reader, Rules rules)
          Creates a new XMLReader instance that relies on the given XMLReader and custom user define Rules implementation.
static DigesterLoader newLoader(Iterable<RulesModule> rulesModules)
          Creates a new DigesterLoader instance given a collection of RulesModule instance.
static DigesterLoader newLoader(RulesModule... rulesModules)
          Creates a new DigesterLoader instance given one or more RulesModule instance.
 DigesterLoader register(String publicId, String entityURL)
          Convenience method that registers the string version of an entity URL instead of a URL version.
 DigesterLoader register(String publicId, URL entityURL)
          Register the specified DTD URL for the specified public identifier.
 DigesterLoader setClassLoader(ClassLoader classLoader)
          Set the class loader to be used for instantiating application objects when required.
 DigesterLoader setDocumentLocator(Locator locator)
          Sets the document locator associated with our parser.
 DigesterLoader setEntityResolver(EntityResolver entityResolver)
          Set the EntityResolver used by SAX when resolving public id and system id.
 DigesterLoader setErrorHandler(ErrorHandler errorHandler)
          Set the error handler for this Digester.
 DigesterLoader setExecutorService(ExecutorService executorService)
          Sets the executor service to run asynchronous parse method.
 DigesterLoader setNamespaceAware(boolean namespaceAware)
          Set the "namespace aware" flag for parsers we create.
 DigesterLoader setSchema(Schema schema)
          Set the XML Schema to be used when parsing.
 DigesterLoader setStackAction(StackAction stackAction)
          Sets the Object which will receive callbacks for every pop/push action on the default stack or named stacks.
 DigesterLoader setSubstitutor(Substitutor substitutor)
          Sets the Substitutor to be used to convert attributes and body text.
 DigesterLoader setUseContextClassLoader(boolean useContextClassLoader)
          Determine whether to use the Context ClassLoader (the one found by calling Thread.currentThread().getContextClassLoader()) to resolve/load classes that are defined in various rules.
 DigesterLoader setValidating(boolean validating)
          Set the validating parser flag.
 DigesterLoader setXIncludeAware(boolean xIncludeAware)
          Set the XInclude-aware flag for parsers we create.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newLoader

public static DigesterLoader newLoader(RulesModule... rulesModules)
Creates a new DigesterLoader instance given one or more RulesModule instance.

Parameters:
rulesModules - The modules containing the Rule binding
Returns:
A new DigesterLoader instance

newLoader

public static DigesterLoader newLoader(Iterable<RulesModule> rulesModules)
Creates a new DigesterLoader instance given a collection of RulesModule instance.

Parameters:
rulesModules - The modules containing the Rule binding
Returns:
A new DigesterLoader instance

setUseContextClassLoader

public DigesterLoader setUseContextClassLoader(boolean useContextClassLoader)
Determine whether to use the Context ClassLoader (the one found by calling Thread.currentThread().getContextClassLoader()) to resolve/load classes that are defined in various rules. If not using Context ClassLoader, then the class-loading defaults to using the calling-class' ClassLoader.

Parameters:
useContextClassLoader - determines whether to use Context ClassLoader.
Returns:
This loader instance, useful to chain methods.

setClassLoader

public DigesterLoader setClassLoader(ClassLoader classLoader)
Set the class loader to be used for instantiating application objects when required.

Parameters:
classLoader - the class loader to be used for instantiating application objects when required.
Returns:
This loader instance, useful to chain methods.

setSubstitutor

public DigesterLoader setSubstitutor(Substitutor substitutor)
Sets the Substitutor to be used to convert attributes and body text.

Parameters:
substitutor - the Substitutor to be used to convert attributes and body text or null if not substitution of these values is to be performed.
Returns:
This loader instance, useful to chain methods.

setNamespaceAware

public DigesterLoader setNamespaceAware(boolean namespaceAware)
Set the "namespace aware" flag for parsers we create.

Parameters:
namespaceAware - The new "namespace aware" flag
Returns:
This loader instance, useful to chain methods.

isNamespaceAware

public boolean isNamespaceAware()
Return the "namespace aware" flag for parsers we create.

Returns:
true, if the "namespace aware" flag for parsers we create, false otherwise.

setXIncludeAware

public DigesterLoader setXIncludeAware(boolean xIncludeAware)
Set the XInclude-aware flag for parsers we create. This additionally requires namespace-awareness.

Parameters:
xIncludeAware - The new XInclude-aware flag
Returns:
This loader instance, useful to chain methods.
See Also:
setNamespaceAware(boolean)

isXIncludeAware

public boolean isXIncludeAware()
Return the XInclude-aware flag for parsers we create;

Returns:
true, if the XInclude-aware flag for parsers we create is set, false otherwise

setValidating

public DigesterLoader setValidating(boolean validating)
Set the validating parser flag.

Parameters:
validating - The new validating parser flag.
Returns:
This loader instance, useful to chain methods.

isValidating

public boolean isValidating()
Return the validating parser flag.

Returns:
true, if the validating parser flag is set, false otherwise

setSchema

public DigesterLoader setSchema(Schema schema)
Set the XML Schema to be used when parsing.

Parameters:
schema - The Schema instance to use.
Returns:
This loader instance, useful to chain methods.

register

public DigesterLoader register(String publicId,
                               URL entityURL)

Register the specified DTD URL for the specified public identifier. This must be called before the first call to parse().

Digester contains an internal EntityResolver implementation. This maps PUBLICID's to URLs (from which the resource will be loaded). A common use case for this method is to register local URLs (possibly computed at runtime by a classloader) for DTDs. This allows the performance advantage of using a local version without having to ensure every SYSTEM URI on every processed xml document is local. This implementation provides only basic functionality. If more sophisticated features are required, using setEntityResolver(EntityResolver) to set a custom resolver is recommended.

Note: This method will have no effect when a custom EntityResolver has been set. (Setting a custom EntityResolver overrides the internal implementation.)

Parameters:
publicId - Public identifier of the DTD to be resolved
entityURL - The URL to use for reading this DTD
Returns:
This loader instance, useful to chain methods.

register

public DigesterLoader register(String publicId,
                               String entityURL)

Convenience method that registers the string version of an entity URL instead of a URL version.

Parameters:
publicId - Public identifier of the entity to be resolved
entityURL - The URL to use for reading this entity
Returns:
This loader instance, useful to chain methods.

getRegistrations

public Map<String,URL> getRegistrations()
Return the set of DTD URL registrations, keyed by public identifier.

Returns:
the set of DTD URL registrations.

setEntityResolver

public DigesterLoader setEntityResolver(EntityResolver entityResolver)
Set the EntityResolver used by SAX when resolving public id and system id. This must be called before the first call to parse().

Parameters:
entityResolver - a class that implement the EntityResolver interface.
Returns:
This loader instance, useful to chain methods.

setStackAction

public DigesterLoader setStackAction(StackAction stackAction)
Sets the Object which will receive callbacks for every pop/push action on the default stack or named stacks.

Parameters:
stackAction - the Object which will receive callbacks for every pop/push action on the default stack or named stacks.
Returns:
This loader instance, useful to chain methods.

getExecutorService

public ExecutorService getExecutorService()
Returns the executor service used to run asynchronous parse method.

Returns:
the executor service used to run asynchronous parse method
Since:
3.1

setExecutorService

public DigesterLoader setExecutorService(ExecutorService executorService)
Sets the executor service to run asynchronous parse method.

Parameters:
executorService - the executor service to run asynchronous parse method
Returns:
This loader instance, useful to chain methods.
Since:
3.1

getErrorHandler

public ErrorHandler getErrorHandler()
Return the error handler for this Digester.

Returns:
the error handler for this Digester.
Since:
3.2

setErrorHandler

public DigesterLoader setErrorHandler(ErrorHandler errorHandler)
Set the error handler for this Digester.

Parameters:
errorHandler - The new error handler
Returns:
This loader instance, useful to chain methods.
Since:
3.2

getDocumentLocator

public Locator getDocumentLocator()
Gets the document locator associated with our parser.

Returns:
the Locator supplied by the document parser
Since:
3.2

setDocumentLocator

public DigesterLoader setDocumentLocator(Locator locator)
Sets the document locator associated with our parser.

Parameters:
locator - the document locator associated with our parser.
Returns:
This loader instance, useful to chain methods.
Since:
3.2

newDigester

public Digester newDigester()
Creates a new Digester instance that relies on the default Rules implementation.

Returns:
a new Digester instance

newDigester

public Digester newDigester(Rules rules)
Creates a new Digester instance that relies on the custom user define Rules implementation

Parameters:
rules - The custom user define Rules implementation
Returns:
a new Digester instance

newDigester

public Digester newDigester(SAXParser parser)
Creates a new Digester instance that relies on the given SAXParser and the default Rules implementation.

Parameters:
parser - the user defined SAXParser
Returns:
a new Digester instance

newDigester

public Digester newDigester(SAXParser parser,
                            Rules rules)
Creates a new Digester instance that relies on the given SAXParser and custom user define Rules implementation.

Parameters:
parser - The user defined SAXParser
rules - The custom user define Rules implementation
Returns:
a new Digester instance

newDigester

public Digester newDigester(XMLReader reader)
Creates a new XMLReader instance that relies on the given XMLReader and the default Rules implementation.

Parameters:
reader - The user defined XMLReader
Returns:
a new Digester instance

newDigester

public Digester newDigester(XMLReader reader,
                            Rules rules)
Creates a new XMLReader instance that relies on the given XMLReader and custom user define Rules implementation.

Parameters:
reader - The user defined XMLReader
rules - The custom user define Rules implementation
Returns:
a new Digester instance

addRules

public void addRules(Digester digester)
Add rules to an already created Digester instance, analyzing the digester annotations in the target class.

Parameters:
digester - the Digester instance reference.

createRuleSet

public RuleSet createRuleSet()
Creates a new RuleSet instance based on the current configuration.

Returns:
A new RuleSet instance based on the current configuration.


Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.