Class AbstractXmlResourceFactory
java.lang.Object
org.pentaho.reporting.libraries.xmlns.parser.AbstractXmlResourceFactory
- All Implemented Interfaces:
org.pentaho.reporting.libraries.resourceloader.ResourceFactory
public abstract class AbstractXmlResourceFactory
extends Object
implements org.pentaho.reporting.libraries.resourceloader.ResourceFactory
A base-class for resource-factories that load their resources from XML files. This class provides a multiplexing
option. For this, the parser looks at the root-element of the document to be parsed and selects the most suitable
XmlFactoryModule implementation registered.
- Author:
- Thomas Morgner
-
Field Summary
FieldsFields inherited from interface org.pentaho.reporting.libraries.resourceloader.ResourceFactory
CONFIG_PREFIX -
Method Summary
Modifier and TypeMethodDescriptionorg.pentaho.reporting.libraries.resourceloader.Resourcecreate(org.pentaho.reporting.libraries.resourceloader.ResourceManager manager, org.pentaho.reporting.libraries.resourceloader.ResourceData data, org.pentaho.reporting.libraries.resourceloader.ResourceKey context) Creates a resource by interpreting the data given in the resource-data object.voidLoads all XmlFactoryModule-implementations from the given configuration.parseDirectly(org.pentaho.reporting.libraries.resourceloader.ResourceManager manager, InputSource input, org.pentaho.reporting.libraries.resourceloader.ResourceKey context, Map parameters) A method to allow to invoke the parsing without accessing the LibLoader layer.voidregisterModule(XmlFactoryModule factoryModule) Registers a factory module for being used during the parsing.Methods inherited from class Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.pentaho.reporting.libraries.resourceloader.ResourceFactory
getFactoryType
-
Field Details
-
CONTENTBASE_KEY
-
-
Method Details
-
create
public org.pentaho.reporting.libraries.resourceloader.Resource create(org.pentaho.reporting.libraries.resourceloader.ResourceManager manager, org.pentaho.reporting.libraries.resourceloader.ResourceData data, org.pentaho.reporting.libraries.resourceloader.ResourceKey context) throws org.pentaho.reporting.libraries.resourceloader.ResourceCreationException, org.pentaho.reporting.libraries.resourceloader.ResourceLoadingException Creates a resource by interpreting the data given in the resource-data object. If additional datastreams need to be parsed, the provided resource manager should be used. This method parses the given resource-data as XML stream.- Specified by:
createin interfaceorg.pentaho.reporting.libraries.resourceloader.ResourceFactory- Parameters:
manager- the resource manager used for all resource loading.data- the resource-data from where the binary data is read.context- the resource context used to resolve relative resource paths.- Returns:
- the parsed result, never null.
- Throws:
org.pentaho.reporting.libraries.resourceloader.ResourceCreationException- if the resource could not be parsed due to syntaxctial or logical errors in the data.org.pentaho.reporting.libraries.resourceloader.ResourceLoadingException- if the resource could not be accessed from the physical storage.
-
parseDirectly
public Object parseDirectly(org.pentaho.reporting.libraries.resourceloader.ResourceManager manager, InputSource input, org.pentaho.reporting.libraries.resourceloader.ResourceKey context, Map parameters) throws org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException, org.pentaho.reporting.libraries.resourceloader.ResourceCreationException, org.pentaho.reporting.libraries.resourceloader.ResourceLoadingException A method to allow to invoke the parsing without accessing the LibLoader layer. The data to be parsed is held in the given InputSource object.- Parameters:
manager- the resource manager used for all resource loading.input- the raw-data given as SAX-InputSource.context- the resource context used to resolve relative resource paths.parameters- the parse parameters.- Returns:
- the parsed result, never null.
- Throws:
org.pentaho.reporting.libraries.resourceloader.ResourceCreationException- if the resource could not be parsed due to syntaxctial or logical errors in the data.org.pentaho.reporting.libraries.resourceloader.ResourceLoadingException- if the resource could not be accessed from the physical storage.org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException- if creating the context key failed.
-
initializeDefaults
public void initializeDefaults()Loads all XmlFactoryModule-implementations from the given configuration.- Specified by:
initializeDefaultsin interfaceorg.pentaho.reporting.libraries.resourceloader.ResourceFactory- See Also:
-
registerModule
Registers a factory module for being used during the parsing. If the factory module does not return a result that matches the factory's type, the parsing will always fail.- Parameters:
factoryModule- the factory module.- Throws:
NullPointerException- if the module given is null.
-