Class AbstractTagHandler
- java.lang.Object
-
- com.day.cq.wcm.designimporter.parser.taghandlers.AbstractTagHandler
-
- All Implemented Interfaces:
HTMLContentProvider,PageComponentProvider,TagHandler
- Direct Known Subclasses:
CanvasComponentTagHandler,DefaultComponentTagHandler,DefaultTagHandler,HeadTagHandler,ImageComponentTagHandler,NonScriptTagHandler,ParsysComponentTagHandler,TextComponentTagHandler,TitleComponentTagHandler,TitleTagHandler
public abstract class AbstractTagHandler extends Object implements TagHandler, PageComponentProvider, HTMLContentProvider
The abstract class that pulls up all the common tag handling functionality.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.
-
-
Field Summary
Fields Modifier and Type Field Description static StringNAME_HINT_PROPERTY_KEY
-
Constructor Summary
Constructors Constructor Description AbstractTagHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbeginHandling(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.voidcharacters(char[] ch, int start, int length)Callback to signal the encounter of character content within tags.voidendElement(String uri, String localName, String qName)Callback to signal the encounter of a tag end.voidendHandling(String uri, String localName, String qName)Callback to signal the end of handling giving the tag handler a chance for finalizing things.ObjectgetContent(HTMLContentType htmlContentType)Gets the content of the typeHTMLContentTypeList<PageComponent>getPageComponents()The list of page components that this provider provides.voidsetDesignImporterContext(DesignImporterContext designImporterContext)Sets the design importer contextvoidsetPageBuilder(PageBuilder pageBuilder)Setter for injecting the page builder which is used for building page components.voidsetTagHandlerProvider(TagHandlerProvider tagHandlerProvider)voidstartElement(String uri, String localName, String qName, Attributes atts)Callback to signal the encounter of a tag start.booleansupportsContent(HTMLContentType htmlContentType)Indicates whether the passedHTMLContentTypeis supported or not
-
-
-
Field Detail
-
NAME_HINT_PROPERTY_KEY
public static final String NAME_HINT_PROPERTY_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
beginHandling
public void beginHandling(String uri, String localName, String qName, Attributes atts) throws DesignImportException
Description copied from interface:TagHandlerCallback to signal the start of handling giving the tag handler a chance for running intialization routines.TagHandlers are registered against tag+attribute combination and are invoked by theHTMLContentHandleras and when it encounters a tag matching the tag attribute combination the tag handler is registered with.- Specified by:
beginHandlingin interfaceTagHandler- Throws:
DesignImportException
-
characters
public void characters(char[] ch, int start, int length) throws DesignImportExceptionDescription copied from interface:TagHandlerCallback to signal the encounter of character content within tags.- Specified by:
charactersin interfaceTagHandler- Throws:
DesignImportException
-
endElement
public void endElement(String uri, String localName, String qName) throws DesignImportException
Description copied from interface:TagHandlerCallback to signal the encounter of a tag end.- Specified by:
endElementin interfaceTagHandler- Throws:
DesignImportException
-
endHandling
public void endHandling(String uri, String localName, String qName) throws DesignImportException
Description copied from interface:TagHandlerCallback to signal the end of handling giving the tag handler a chance for finalizing things.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.
- Specified by:
endHandlingin interfaceTagHandler- Throws:
DesignImportException
-
getContent
public Object getContent(HTMLContentType htmlContentType)
Description copied from interface:HTMLContentProviderGets the content of the typeHTMLContentType- Specified by:
getContentin interfaceHTMLContentProvider- Returns:
-
getPageComponents
public List<PageComponent> getPageComponents()
Description copied from interface:PageComponentProviderThe list of page components that this provider provides.- Specified by:
getPageComponentsin interfacePageComponentProvider- Returns:
- The list of page components
-
setDesignImporterContext
public void setDesignImporterContext(DesignImporterContext designImporterContext)
Description copied from interface:TagHandlerSets the design importer context- Specified by:
setDesignImporterContextin interfaceTagHandler
-
setPageBuilder
public void setPageBuilder(PageBuilder pageBuilder)
Description copied from interface:PageComponentProviderSetter for injecting the page builder which is used for building page components.- Specified by:
setPageBuilderin interfacePageComponentProvider
-
setTagHandlerProvider
public void setTagHandlerProvider(TagHandlerProvider tagHandlerProvider)
- Specified by:
setTagHandlerProviderin interfaceTagHandler
-
startElement
public void startElement(String uri, String localName, String qName, Attributes atts) throws DesignImportException
Description copied from interface:TagHandlerCallback to signal the encounter of a tag start.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.
- Specified by:
startElementin interfaceTagHandler- Throws:
DesignImportException
-
supportsContent
public boolean supportsContent(HTMLContentType htmlContentType)
Description copied from interface:HTMLContentProviderIndicates whether the passedHTMLContentTypeis supported or not- Specified by:
supportsContentin interfaceHTMLContentProvider- Returns:
-
-