public abstract class AbstractTagHandler extends Object implements TagHandler, PageComponentProvider, HTMLContentProvider
The tag handlers usually attempt to delegate all the SAX events to nested handlers if they exist. If there aren't any nested handlers, the incoming SAX events are used to either populate the html markup/css/script buffers or generate CQ page components(via component provider subclasses).
Nested handlers are created when an element matching a tag handler registration rule is encountered. Then on, all the SAX events are directed to the instantiated nested handler until end of nested tag is encountered. Once that happens, the nested tag handler is asked for whatever content/components it has culled out. After that, the nested tag handler is popped out for GC.
Modifier and Type | Field and Description |
---|---|
static String |
NAME_HINT_PROPERTY_KEY |
Constructor and Description |
---|
AbstractTagHandler() |
Modifier and Type | Method and Description |
---|---|
void |
beginHandling(String uri,
String localName,
String qName,
Attributes atts)
Callback to signal the start of handling giving the tag handler a chance for running intialization routines.
|
void |
characters(char[] ch,
int start,
int length)
Callback to signal the encounter of character content within tags.
|
void |
endElement(String uri,
String localName,
String qName)
Callback to signal the encounter of a tag end.
|
void |
endHandling(String uri,
String localName,
String qName)
Callback to signal the end of handling giving the tag handler a chance for finalizing things.
|
Object |
getContent(HTMLContentType htmlContentType)
Gets the content of the type
HTMLContentType |
List<PageComponent> |
getPageComponents()
The list of page components that this provider provides.
|
void |
setDesignImporterContext(DesignImporterContext designImporterContext)
Sets the design importer context
|
void |
setPageBuilder(PageBuilder pageBuilder)
Setter for injecting the page builder which is used for building page components.
|
void |
setTagHandlerProvider(TagHandlerProvider tagHandlerProvider) |
void |
startElement(String uri,
String localName,
String qName,
Attributes atts)
Callback to signal the encounter of a tag start.
|
boolean |
supportsContent(HTMLContentType htmlContentType)
Indicates whether the passed
HTMLContentType is supported or not |
public static final String NAME_HINT_PROPERTY_KEY
public void beginHandling(String uri, String localName, String qName, Attributes atts) throws DesignImportException
TagHandler
TagHandler
s are registered against tag+attribute combination and are invoked by the HTMLContentHandler
as and when it
encounters a tag matching the tag attribute combination the tag handler is registered with.
beginHandling
in interface TagHandler
DesignImportException
public void characters(char[] ch, int start, int length) throws DesignImportException
TagHandler
characters
in interface TagHandler
DesignImportException
public void endElement(String uri, String localName, String qName) throws DesignImportException
TagHandler
endElement
in interface TagHandler
DesignImportException
public void endHandling(String uri, String localName, String qName) throws DesignImportException
TagHandler
This is arguably the last callback a tag handler receives. After this, the current tag handler is popped out from the chain and the subsequent Tika events are directed to preceding tag handlers.
endHandling
in interface TagHandler
DesignImportException
public Object getContent(HTMLContentType htmlContentType)
HTMLContentProvider
HTMLContentType
getContent
in interface HTMLContentProvider
public List<PageComponent> getPageComponents()
PageComponentProvider
getPageComponents
in interface PageComponentProvider
public void setDesignImporterContext(DesignImporterContext designImporterContext)
TagHandler
setDesignImporterContext
in interface TagHandler
public void setPageBuilder(PageBuilder pageBuilder)
PageComponentProvider
setPageBuilder
in interface PageComponentProvider
public void setTagHandlerProvider(TagHandlerProvider tagHandlerProvider)
setTagHandlerProvider
in interface TagHandler
public void startElement(String uri, String localName, String qName, Attributes atts) throws DesignImportException
TagHandler
Once a tag handler begins handling, it receives the start tag events for all the nested tags within the purview of the tag this tag handler is registered against.
startElement
in interface TagHandler
DesignImportException
public boolean supportsContent(HTMLContentType htmlContentType)
HTMLContentProvider
HTMLContentType
is supported or notsupportsContent
in interface HTMLContentProvider
Copyright © 2010 - 2020 Adobe. All Rights Reserved