Class CallbackContentHandler
java.lang.Object
org.itsallcode.openfasttrace.importer.xmlparser.tree.CallbackContentHandler
- All Implemented Interfaces:
TreeContentHandler
A convenient
TreeContentHandler that allows registering listeners for
specific elements.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddCharacterDataListener(String elementName, Consumer<String> listener) Add a listener for elements with string content.addElementListener(String elementName, Consumer<TreeElement> listener) Adds a start element listener for elements with a given name.addElementListener(String elementName, Consumer<TreeElement> startListener, Consumer<TreeElement> endListener) Adds start and end element listener for elements with a given name.addIntDataListener(String elementName, IntConsumer listener) Add a listener for elements with integer content.addSubTreeHandler(String elementName, Supplier<TreeContentHandler> supplier) Adds aTreeContentHandlerthat will process the elements in the sub tree.voidendElement(TreeElement closedElement) Called when a XML element is closed.voidinit(TreeParsingController treeParsingController) Called before the parsing is started.voidpushDelegate(TreeContentHandler delegate) Pushes the givenTreeContentHandleras a delegate.voidsetDefaultStartElementListener(Consumer<TreeElement> defaultListener) Sets the default start element listener that is called when no other listener matches.voidstartElement(TreeElement treeElement) Called when a new XML element starts.voidStop parsing, e.g.
-
Constructor Details
-
CallbackContentHandler
public CallbackContentHandler()Create a newCallbackContentHandler.
-
-
Method Details
-
setDefaultStartElementListener
Sets the default start element listener that is called when no other listener matches.- Parameters:
defaultListener- the default start element listener.
-
addSubTreeHandler
public CallbackContentHandler addSubTreeHandler(String elementName, Supplier<TreeContentHandler> supplier) Adds aTreeContentHandlerthat will process the elements in the sub tree.- Parameters:
elementName- the element name for which to register the listener.supplier- the supplier for the content handler.- Returns:
- this instance for method chaining.
-
addElementListener
public CallbackContentHandler addElementListener(String elementName, Consumer<TreeElement> listener) Adds a start element listener for elements with a given name. The listener will be called when an element with the given name is found.- Parameters:
elementName- the element name for which to register the listener.listener- the start element listener.- Returns:
- this instance for method chaining.
-
addElementListener
public CallbackContentHandler addElementListener(String elementName, Consumer<TreeElement> startListener, Consumer<TreeElement> endListener) Adds start and end element listener for elements with a given name. The listener will be called when an element with the given name is found.- Parameters:
elementName- the element name for which to register the listeners.startListener- the start element listener.endListener- the end element listener.- Returns:
- this instance for method chaining.
-
init
Description copied from interface:TreeContentHandlerCalled before the parsing is started.- Specified by:
initin interfaceTreeContentHandler- Parameters:
treeParsingController- the controller.
-
startElement
Description copied from interface:TreeContentHandlerCalled when a new XML element starts.- Specified by:
startElementin interfaceTreeContentHandler- Parameters:
treeElement- the starting element.
-
endElement
Description copied from interface:TreeContentHandlerCalled when a XML element is closed.- Specified by:
endElementin interfaceTreeContentHandler- Parameters:
closedElement- the closed element.
-
stopParsing
public void stopParsing()Stop parsing, e.g. in case of a parsing error. -
pushDelegate
Pushes the givenTreeContentHandleras a delegate. This will restore the original handler (i.e.this) when the current element ends.- Parameters:
delegate- the new delegate.
-
addIntDataListener
Add a listener for elements with integer content.- Parameters:
elementName- the element name.listener- the listener.- Returns:
- this instance for method chaining.
-
addCharacterDataListener
public CallbackContentHandler addCharacterDataListener(String elementName, Consumer<String> listener) Add a listener for elements with string content.- Parameters:
elementName- the element name.listener- the listener.- Returns:
- this instance for method chaining.
-