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 java.lang.Object implements org.pentaho.reporting.libraries.resourceloader.ResourceFactoryA 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
Fields Modifier and Type Field Description static java.lang.StringCONTENTBASE_KEYA key for the content base.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.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.voidinitializeDefaults()Loads all XmlFactoryModule-implementations from the given configuration.java.lang.ObjectparseDirectly(org.pentaho.reporting.libraries.resourceloader.ResourceManager manager, org.xml.sax.InputSource input, org.pentaho.reporting.libraries.resourceloader.ResourceKey context, java.util.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.
-
-
-
Field Detail
-
CONTENTBASE_KEY
public static final java.lang.String CONTENTBASE_KEY
A key for the content base.- See Also:
- Constant Field Values
-
-
Method Detail
-
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.ResourceLoadingExceptionCreates 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 java.lang.Object parseDirectly(org.pentaho.reporting.libraries.resourceloader.ResourceManager manager, org.xml.sax.InputSource input, org.pentaho.reporting.libraries.resourceloader.ResourceKey context, java.util.Map parameters) throws org.pentaho.reporting.libraries.resourceloader.ResourceKeyCreationException, org.pentaho.reporting.libraries.resourceloader.ResourceCreationException, org.pentaho.reporting.libraries.resourceloader.ResourceLoadingExceptionA 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:
getConfiguration()
-
registerModule
public void registerModule(XmlFactoryModule factoryModule)
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:
java.lang.NullPointerException- if the module given is null.
-
-