Class NamespaceAwareNestedTagHandler
java.lang.Object
org.xml.sax.helpers.DefaultHandler
org.apache.cayenne.configuration.xml.SAXNestedTagHandler
org.apache.cayenne.configuration.xml.NamespaceAwareNestedTagHandler
- All Implemented Interfaces:
ContentHandler
,DTDHandler
,EntityResolver
,ErrorHandler
- Direct Known Subclasses:
DataMapHandler
,DbEntityHandler
,DbKeyGeneratorHandler
,DbRelationshipHandler
,EmbeddableAttributeHandler
,EmbeddableHandler
,ObjEntityHandler
,ObjRelationshipHandler
,ProcedureHandler
,QueryDescriptorHandler
,VersionAwareHandler
Base class for handlers that can delegate execution of unknown tags to
handlers produced by factory.
- Since:
- 4.1
-
Field Summary
FieldsFields inherited from class org.apache.cayenne.configuration.xml.SAXNestedTagHandler
loaderContext, locator, parentHandler
-
Constructor Summary
ConstructorsConstructorDescriptionNamespaceAwareNestedTagHandler
(LoaderContext loaderContext) NamespaceAwareNestedTagHandler
(NamespaceAwareNestedTagHandler parentHandler) NamespaceAwareNestedTagHandler
(SAXNestedTagHandler parentHandler, String targetNamespace) -
Method Summary
Modifier and TypeMethodDescriptionvoid
characters
(char[] ch, int start, int length) protected ContentHandler
createChildTagHandler
(String namespaceURI, String localName, String qName, Attributes attributes) This method should be used to create nested handlers to process children elements.void
endElement
(String namespaceURI, String localName, String qName) protected void
processCharData
(String localName, String data) protected abstract boolean
processElement
(String namespaceURI, String localName, Attributes attributes) Main method to process XML content.void
setAllowAllNamespaces
(boolean allowAllNamespaces) void
setTargetNamespace
(String targetNamespace) final void
startElement
(String namespaceURI, String localName, String qName, Attributes attributes) This method directly called by SAX parser, do not override it directly, useSAXNestedTagHandler.processElement(String, String, Attributes)
method instead to process content.Methods inherited from class org.apache.cayenne.configuration.xml.SAXNestedTagHandler
beforeScopeEnd, getParentHandler, setDocumentLocator, stop, unexpectedTagMessage
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warning
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.xml.sax.ContentHandler
declaration
-
Field Details
-
targetNamespace
-
allowAllNamespaces
protected boolean allowAllNamespaces
-
-
Constructor Details
-
NamespaceAwareNestedTagHandler
-
NamespaceAwareNestedTagHandler
-
NamespaceAwareNestedTagHandler
-
-
Method Details
-
processElement
protected abstract boolean processElement(String namespaceURI, String localName, Attributes attributes) throws SAXException Description copied from class:SAXNestedTagHandler
Main method to process XML content. Should be override in subclasses, by default do nothing. Return value should be true if tag was fully processed and shouldn't be passed down to child handler.- Overrides:
processElement
in classSAXNestedTagHandler
- Parameters:
namespaceURI
- namespace for taglocalName
- tag local name (i.e. w/o namespace prefix)attributes
- tag attributes- Returns:
- true if tag was processed
- Throws:
SAXException
- can be thrown to abort parsing- See Also:
-
processCharData
-
characters
- Specified by:
characters
in interfaceContentHandler
- Overrides:
characters
in classDefaultHandler
- Throws:
SAXException
-
startElement
public final void startElement(String namespaceURI, String localName, String qName, Attributes attributes) throws SAXException Description copied from class:SAXNestedTagHandler
This method directly called by SAX parser, do not override it directly, useSAXNestedTagHandler.processElement(String, String, Attributes)
method instead to process content.- Specified by:
startElement
in interfaceContentHandler
- Overrides:
startElement
in classSAXNestedTagHandler
- Throws:
SAXException
- See Also:
-
endElement
- Specified by:
endElement
in interfaceContentHandler
- Overrides:
endElement
in classSAXNestedTagHandler
- Throws:
SAXException
-
createChildTagHandler
protected ContentHandler createChildTagHandler(String namespaceURI, String localName, String qName, Attributes attributes) Description copied from class:SAXNestedTagHandler
This method should be used to create nested handlers to process children elements. This method should never returnnull
.- Overrides:
createChildTagHandler
in classSAXNestedTagHandler
- Parameters:
namespaceURI
- namespace for taglocalName
- tag local name (i.e. w/o namespace prefix)qName
- tag full name (i.e. with namespace prefix)attributes
- tag attributes- Returns:
- new handler to process child tag
-
setTargetNamespace
-
setAllowAllNamespaces
public void setAllowAllNamespaces(boolean allowAllNamespaces)
-