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 TypeMethodDescriptionvoidcharacters(char[] ch, int start, int length) protected ContentHandlercreateChildTagHandler(String namespaceURI, String localName, String qName, Attributes attributes) This method should be used to create nested handlers to process children elements.voidendElement(String namespaceURI, String localName, String qName) protected booleanprocessCharData(String localName, String data) protected abstract booleanprocessElement(String namespaceURI, String localName, Attributes attributes) Main method to process XML content.voidsetAllowAllNamespaces(boolean allowAllNamespaces) voidsetTargetNamespace(String targetNamespace) final voidstartElement(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, unexpectedTagMessageMethods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, skippedEntity, startDocument, startPrefixMapping, unparsedEntityDecl, warningMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:SAXNestedTagHandlerMain 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:
processElementin 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:
charactersin interfaceContentHandler- Overrides:
charactersin classDefaultHandler- Throws:
SAXException
-
startElement
public final void startElement(String namespaceURI, String localName, String qName, Attributes attributes) throws SAXException Description copied from class:SAXNestedTagHandlerThis method directly called by SAX parser, do not override it directly, useSAXNestedTagHandler.processElement(String, String, Attributes)method instead to process content.- Specified by:
startElementin interfaceContentHandler- Overrides:
startElementin classSAXNestedTagHandler- Throws:
SAXException- See Also:
-
endElement
- Specified by:
endElementin interfaceContentHandler- Overrides:
endElementin classSAXNestedTagHandler- Throws:
SAXException
-
createChildTagHandler
protected ContentHandler createChildTagHandler(String namespaceURI, String localName, String qName, Attributes attributes) Description copied from class:SAXNestedTagHandlerThis method should be used to create nested handlers to process children elements. This method should never returnnull.- Overrides:
createChildTagHandlerin 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)
-