Class RootElementNameContentWorkerSelector<W extends ContentWorker>
java.lang.Object
org.xml.sax.helpers.DefaultHandler
org.alfresco.repo.content.selector.RootElementNameContentWorkerSelector<W>
- All Implemented Interfaces:
ContentWorkerSelector<ContentWorker>,ContentHandler,DTDHandler,EntityResolver,ErrorHandler
public class RootElementNameContentWorkerSelector<W extends ContentWorker>
extends DefaultHandler
implements ContentWorkerSelector<ContentWorker>
A selector that looks at the root node of an XML document to determine which worker to provide.
There are many ways to identify XML documents and this is probably the simplest. Alternate
implementations might execute a series of xpath statements or look for specific namespace
declarations in the document. The net result is the same, i.e. given an XML document, a
worker is provided to the caller.
- Since:
- 2.1
- Author:
- Derek Hulley
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetWorker(ContentReader reader) Performs a match of the root element name to find the correct content worker.voidinit()Checks the configuration.voidsetSupportedMimetypes(Set<String> supportedMimetypes) Optionally set the mimetypes supported.voidsetWorkers(Map<String, W> workers) Set the workers to choose from.voidstartElement(String uri, String localName, String qName, Attributes attributes) toString()Methods inherited from class org.xml.sax.helpers.DefaultHandler
characters, endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warningMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.xml.sax.ContentHandler
declaration
-
Constructor Details
-
RootElementNameContentWorkerSelector
public RootElementNameContentWorkerSelector()
-
-
Method Details
-
toString
-
setSupportedMimetypes
Optionally set the mimetypes supported. They must be XML formats that the chosen parser will be able to handle.- Parameters:
supportedMimetypes- the list of mimetypes. The default is text/xml.
-
setWorkers
Set the workers to choose from.- Parameters:
workers- a map of ContentWorker instances keyed by root element name
-
init
public void init()Checks the configuration. -
getWorker
Performs a match of the root element name to find the correct content worker.- Specified by:
getWorkerin interfaceContentWorkerSelector<W extends ContentWorker>- Parameters:
reader- the content reader, providing the actual stream metadata and even the stream, if required.- Returns:
- Return a worker that can operate on the content, or null if this identifier doesn't support the content.
-
startElement
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException - Specified by:
startElementin interfaceContentHandler- Overrides:
startElementin classDefaultHandler- Throws:
SAXException
-