Class FormatXMLAbstractContentHandler<A,B>
- java.lang.Object
-
- com.io7m.coffeepick.runtime.format.xml.FormatXMLAbstractContentHandler<A,B>
-
- Type Parameters:
A- The type of values returned by child handlersB- The type of result values
- All Implemented Interfaces:
FormatXMLContentHandlerType<B>
- Direct Known Subclasses:
FormatXML1BrandingHandler,FormatXML1BuildHandler,FormatXML1HashHandler,FormatXML1RepositoryHandler,FormatXML1RuntimeHandler,FormatXML1RuntimesHandler,FormatXML1TagHandler,FormatXML1TagsHandler,FormatXML1TopLevelHandler
public abstract class FormatXMLAbstractContentHandler<A,B> extends java.lang.Object implements FormatXMLContentHandlerType<B>
An abstract implementation of the content handler interface.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedFormatXMLAbstractContentHandler(org.xml.sax.ext.Locator2 in_locator, java.util.Optional<java.lang.String> in_direct)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidfinish(B r)Bget()protected org.xml.sax.ext.Locator2locator()<C> FormatXMLContentHandlerType<C>map(java.util.function.Function<B,C> f)Applyfto the results of this content handler.voidonCharacters(char[] ch, int start, int length)Text was received.protected abstract voidonChildResultReceived(A value)A value was received from a child handler.protected abstract java.util.Optional<B>onElementFinishDirectly(java.lang.String namespace, java.lang.String name, java.lang.String qname)java.util.Optional<B>onElementFinished(java.lang.String namespace, java.lang.String name, java.lang.String qname)An XML element has finished.protected abstract voidonElementStartDirectly(java.lang.String namespace, java.lang.String name, java.lang.String qname, org.xml.sax.Attributes attributes)voidonElementStarted(java.lang.String namespace, java.lang.String name, java.lang.String qname, org.xml.sax.Attributes attributes)An XML element has been started.protected abstract java.util.Map<java.lang.String,java.util.function.Supplier<FormatXMLContentHandlerType<A>>>onWantChildHandlers()protected abstract java.lang.StringonWantHandlerName()java.lang.StringtoString()
-
-
-
Method Detail
-
map
public final <C> FormatXMLContentHandlerType<C> map(java.util.function.Function<B,C> f)
Description copied from interface:FormatXMLContentHandlerTypeApplyfto the results of this content handler.- Specified by:
mapin interfaceFormatXMLContentHandlerType<A>- Type Parameters:
C- The type of returned values- Parameters:
f- The function- Returns:
- A content handler that produces values of type
B
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
onElementStarted
public final void onElementStarted(java.lang.String namespace, java.lang.String name, java.lang.String qname, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXExceptionDescription copied from interface:FormatXMLContentHandlerTypeAn XML element has been started.- Specified by:
onElementStartedin interfaceFormatXMLContentHandlerType<A>- Parameters:
namespace- The namespace URIname- The local element nameqname- The fully qualified nameattributes- The attributes- Throws:
org.xml.sax.SAXException- On errors
-
locator
protected final org.xml.sax.ext.Locator2 locator()
-
onWantHandlerName
protected abstract java.lang.String onWantHandlerName()
-
onWantChildHandlers
protected abstract java.util.Map<java.lang.String,java.util.function.Supplier<FormatXMLContentHandlerType<A>>> onWantChildHandlers()
-
onElementFinishDirectly
protected abstract java.util.Optional<B> onElementFinishDirectly(java.lang.String namespace, java.lang.String name, java.lang.String qname) throws org.xml.sax.SAXException
- Throws:
org.xml.sax.SAXException
-
onElementStartDirectly
protected abstract void onElementStartDirectly(java.lang.String namespace, java.lang.String name, java.lang.String qname, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException- Throws:
org.xml.sax.SAXException
-
onChildResultReceived
protected abstract void onChildResultReceived(A value)
A value was received from a child handler.- Parameters:
value- The result value
-
onElementFinished
public final java.util.Optional<B> onElementFinished(java.lang.String namespace, java.lang.String name, java.lang.String qname) throws org.xml.sax.SAXException
Description copied from interface:FormatXMLContentHandlerTypeAn XML element has finished.- Specified by:
onElementFinishedin interfaceFormatXMLContentHandlerType<A>- Parameters:
namespace- The namespace URIname- The local element nameqname- The fully qualified name- Returns:
- A value of
Aif the given element finished the content - Throws:
org.xml.sax.SAXException- On errors
-
finish
protected final void finish(B r)
-
onCharacters
public final void onCharacters(char[] ch, int start, int length) throws org.xml.sax.SAXExceptionDescription copied from interface:FormatXMLContentHandlerTypeText was received.- Specified by:
onCharactersin interfaceFormatXMLContentHandlerType<A>- Parameters:
ch- The character bufferstart- The offset of the start of the data in the bufferlength- The length of the data in the buffer- Throws:
org.xml.sax.SAXException- On errors
-
get
public final B get()
- Specified by:
getin interfaceFormatXMLContentHandlerType<A>- Returns:
- The completed value
-
-