Package htmlflow.visitor
Class HtmlVisitor
java.lang.Object
org.xmlet.htmlapifaster.ElementVisitor
htmlflow.visitor.HtmlVisitor
- Direct Known Subclasses:
HtmlDocVisitor,HtmlViewVisitor,PreprocessingVisitor
public abstract class HtmlVisitor
extends org.xmlet.htmlapifaster.ElementVisitor
This is the base implementation of the ElementVisitor (from HtmlApiFaster library).
- Author:
- Miguel Gamboa created on 04-08-2022
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intkeep track of current indentation.protected booleanIf the beginning tag is closed, or not, i.e.final booleanIt the HTML output should be indented or not.protected Appendable -
Method Summary
Modifier and TypeMethodDescriptionabstract HtmlVisitorclone(boolean isIndented) Since HtmlVisitor is immutable this is the preferred way to create a copy of the existing HtmlVisitor instance with a different isIndented state.final intgetDepth()keep track of current indentation.final voidAdds a new line and indentation.final Appendableout()abstract voidProcessing output.final HtmlVisitorsetAppendable(Appendable appendable) final voidsetDepth(int v) Set current indentation.final voidsetIsClosed(boolean isClosed) final voidvisitAttribute(String attributeName, String attributeValue) final <R> voidvisitComment(org.xmlet.htmlapifaster.Text<? extends org.xmlet.htmlapifaster.Element, R> text) final voidvisitElement(org.xmlet.htmlapifaster.Element element) This method appends the String"<elementName"and it leaves the element open to include additional attributes.final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitElementRoot(org.xmlet.htmlapifaster.Root<Z> var1) final voidvisitParent(org.xmlet.htmlapifaster.Element element) Writes the end tag for elementName:"</elementName>.".final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentArea(org.xmlet.htmlapifaster.Area<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentBase(org.xmlet.htmlapifaster.Base<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentBr(org.xmlet.htmlapifaster.Br<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentCol(org.xmlet.htmlapifaster.Col<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentEmbed(org.xmlet.htmlapifaster.Embed<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentHr(org.xmlet.htmlapifaster.Hr<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentImg(org.xmlet.htmlapifaster.Img<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentInput(org.xmlet.htmlapifaster.Input<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentLink(org.xmlet.htmlapifaster.Link<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentMeta(org.xmlet.htmlapifaster.Meta<Z> element) protected final voidVoid elements: area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr.final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentParam(org.xmlet.htmlapifaster.Param<Z> element) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentRoot(org.xmlet.htmlapifaster.Root<Z> var1) final <Z extends org.xmlet.htmlapifaster.Element>
voidvisitParentSource(org.xmlet.htmlapifaster.Source<Z> element) final <R> voidvisitText(org.xmlet.htmlapifaster.Text<? extends org.xmlet.htmlapifaster.Element, R> text) protected final voidwrite(char c) final voidMethods inherited from class org.xmlet.htmlapifaster.ElementVisitor
visitAttributeAbbr, visitAttributeAccept, visitAttributeAcceptCharset, visitAttributeAccesskey, visitAttributeAction, visitAttributeAllowfullscreen, visitAttributeAllowpaymentrequest, visitAttributeAlt, visitAttributeAltimg, visitAttributeAltimgHeigth, visitAttributeAltimgValign, visitAttributeAltimgWidth, visitAttributeAlttext, visitAttributeAsync, visitAttributeAutocomplete, visitAttributeAutoComplete, visitAttributeAutofocus, visitAttributeAutoplay, visitAttributeBorder, visitAttributeCdgroup, visitAttributeCell, visitAttributeCharset, visitAttributeChecked, visitAttributeCite, visitAttributeClass, visitAttributeCols, visitAttributeColspan, visitAttributeColumnheader, visitAttributeContent, visitAttributeContenteditable, visitAttributeControls, visitAttributeCoords, visitAttributeCrossorigin, visitAttributeData, visitAttributeDatetime, visitAttributeDefault, visitAttributeDefer, visitAttributeDir, visitAttributeDirname, visitAttributeDirName, visitAttributeDisabled, visitAttributeDisplay, visitAttributeDownload, visitAttributeDraggable, visitAttributeEnctype, visitAttributeFor, visitAttributeForm, visitAttributeFormaction, visitAttributeFormenctype, visitAttributeFormmethod, visitAttributeFormnovalidate, visitAttributeFormtarget, visitAttributeHeaders, visitAttributeHeight, visitAttributeHidden, visitAttributeHigh, visitAttributeHref, visitAttributeHreflang, visitAttributeHttpEquiv, visitAttributeId, visitAttributeIsmap, visitAttributeKind, visitAttributeLabel, visitAttributeLang, visitAttributeList, visitAttributeLongdesc, visitAttributeLoop, visitAttributeLow, visitAttributeManifest, visitAttributeMax, visitAttributeMaxlength, visitAttributeMaxwidth, visitAttributeMedia, visitAttributeMethod, visitAttributeMin, visitAttributeMinlength, visitAttributeMultiple, visitAttributeMuted, visitAttributeName, visitAttributeNonce, visitAttributeNovalidate, visitAttributeOnabort, visitAttributeOnafterprint, visitAttributeOnauxclick, visitAttributeOnbeforeprint, visitAttributeOnbeforeunload, visitAttributeOnblur, visitAttributeOncancel, visitAttributeOncanplay, visitAttributeOncanplaythrough, visitAttributeOnchange, visitAttributeOnclick, visitAttributeOnclose, visitAttributeOncuechange, visitAttributeOndblclick, visitAttributeOndrag, visitAttributeOndragend, visitAttributeOndragenter, visitAttributeOndragexit, visitAttributeOndragleave, visitAttributeOndragover, visitAttributeOndragstart, visitAttributeOndrop, visitAttributeOndurationchange, visitAttributeOnemptied, visitAttributeOnended, visitAttributeOnerror, visitAttributeOnfocus, visitAttributeOnhashchange, visitAttributeOninput, visitAttributeOninvalid, visitAttributeOnkeydown, visitAttributeOnkeypress, visitAttributeOnkeyup, visitAttributeOnlanguagechange, visitAttributeOnload, visitAttributeOnloadeddata, visitAttributeOnloadedmetadata, visitAttributeOnloadend, visitAttributeOnloadstart, visitAttributeOnmessage, visitAttributeOnmousedown, visitAttributeOnmouseenter, visitAttributeOnmouseleave, visitAttributeOnmousemove, visitAttributeOnmouseout, visitAttributeOnmouseover, visitAttributeOnmouseup, visitAttributeOnoffline, visitAttributeOnonline, visitAttributeOnpagehide, visitAttributeOnpageshow, visitAttributeOnpause, visitAttributeOnplay, visitAttributeOnplaying, visitAttributeOnpopstate, visitAttributeOnprogress, visitAttributeOnratechange, visitAttributeOnrejectionhandled, visitAttributeOnreset, visitAttributeOnresize, visitAttributeOnscroll, visitAttributeOnseeked, visitAttributeOnseeking, visitAttributeOnselect, visitAttributeOnshow, visitAttributeOnstalled, visitAttributeOnstorage, visitAttributeOnsubmit, visitAttributeOnsuspend, visitAttributeOntimeupdate, visitAttributeOntoogle, visitAttributeOnunhandledrejection, visitAttributeOnunload, visitAttributeOnvolumenchange, visitAttributeOnwaiting, visitAttributeOnwheel, visitAttributeOpen, visitAttributeOptimum, visitAttributeOverflow, visitAttributePattern, visitAttributePlaceholder, visitAttributePoster, visitAttributePreload, visitAttributeReadonly, visitAttributeReferrerpolicy, visitAttributeRel, visitAttributeRequired, visitAttributeRev, visitAttributeReversed, visitAttributeRow, visitAttributeRowgroup, visitAttributeRowheader, visitAttributeRows, visitAttributeRowspan, visitAttributeSandbox, visitAttributeScope, visitAttributeSelected, visitAttributeShape, visitAttributeSize, visitAttributeSizes, visitAttributeSpan, visitAttributeSpellcheck, visitAttributeSrc, visitAttributeSrcDoc, visitAttributeSrclang, visitAttributeSrcset, visitAttributeSrcSet, visitAttributeStart, visitAttributeStep, visitAttributeStyle, visitAttributeTabIndex, visitAttributeTarget, visitAttributeTitle, visitAttributeTranslate, visitAttributeType, visitAttributeTypemustmatch, visitAttributeUsemap, visitAttributeValue, visitAttributeWidth, visitAttributeWrap, visitAttributeX, visitAttributeY, visitAwait, visitDynamic, visitElementA, visitElementAbbr, visitElementAddress, visitElementArea, visitElementArticle, visitElementAside, visitElementAudio, visitElementB, visitElementBase, visitElementBdi, visitElementBdo, visitElementBlockquote, visitElementBody, visitElementBr, visitElementButton, visitElementCanvas, visitElementCaption, visitElementCite, visitElementCode, visitElementCol, visitElementColgroup, visitElementData, visitElementDatalist, visitElementDd, visitElementDel, visitElementDetails, visitElementDetailsComplete, visitElementDetailsSummary, visitElementDfn, visitElementDialog, visitElementDiv, visitElementDl, visitElementDt, visitElementEm, visitElementEmbed, visitElementFieldset, visitElementFigcaption, visitElementFigure, visitElementFooter, visitElementForm, visitElementH1, visitElementH2, visitElementH3, visitElementH4, visitElementH5, visitElementH6, visitElementHead, visitElementHeader, visitElementHr, visitElementHtml, visitElementI, visitElementIframe, visitElementImg, visitElementInput, visitElementIns, visitElementKbd, visitElementLabel, visitElementLegend, visitElementLi, visitElementLink, visitElementMain, visitElementMap, visitElementMark, visitElementMath, visitElementMeta, visitElementMeter, visitElementNav, visitElementNoscript, visitElementObject, visitElementOl, visitElementOptgroup, visitElementOption, visitElementOutput, visitElementP, visitElementParam, visitElementPicture, visitElementPre, visitElementProgress, visitElementQ, visitElementRb, visitElementRp, visitElementRt, visitElementRtc, visitElementRuby, visitElementS, visitElementSamp, visitElementScript, visitElementSection, visitElementSelect, visitElementSmall, visitElementSource, visitElementSpan, visitElementStrong, visitElementStyle, visitElementSub, visitElementSummary, visitElementSup, visitElementSvg, visitElementTable, visitElementTbody, visitElementTd, visitElementTemplate, visitElementTextarea, visitElementTfoot, visitElementTh, visitElementThead, visitElementTime, visitElementTitle, visitElementTr, visitElementTrack, visitElementU, visitElementUl, visitElementVar, visitElementVideo, visitElementWbr, visitParentA, visitParentAbbr, visitParentAddress, visitParentArticle, visitParentAside, visitParentAudio, visitParentB, visitParentBdi, visitParentBdo, visitParentBlockquote, visitParentBody, visitParentButton, visitParentCanvas, visitParentCaption, visitParentCite, visitParentCode, visitParentColgroup, visitParentData, visitParentDatalist, visitParentDd, visitParentDel, visitParentDetails, visitParentDetailsComplete, visitParentDetailsSummary, visitParentDfn, visitParentDialog, visitParentDiv, visitParentDl, visitParentDt, visitParentEm, visitParentFieldset, visitParentFigcaption, visitParentFigure, visitParentFooter, visitParentForm, visitParentH1, visitParentH2, visitParentH3, visitParentH4, visitParentH5, visitParentH6, visitParentHead, visitParentHeader, visitParentHtml, visitParentI, visitParentIframe, visitParentIns, visitParentKbd, visitParentLabel, visitParentLegend, visitParentLi, visitParentMain, visitParentMap, visitParentMark, visitParentMath, visitParentMeter, visitParentNav, visitParentNoscript, visitParentObject, visitParentOl, visitParentOptgroup, visitParentOption, visitParentOutput, visitParentP, visitParentPicture, visitParentPre, visitParentProgress, visitParentQ, visitParentRb, visitParentRp, visitParentRt, visitParentRtc, visitParentRuby, visitParentS, visitParentSamp, visitParentScript, visitParentSection, visitParentSelect, visitParentSmall, visitParentSpan, visitParentStrong, visitParentStyle, visitParentSub, visitParentSummary, visitParentSup, visitParentSvg, visitParentTable, visitParentTbody, visitParentTd, visitParentTemplate, visitParentTextarea, visitParentTfoot, visitParentTh, visitParentThead, visitParentTime, visitParentTitle, visitParentTr, visitParentTrack, visitParentU, visitParentUl, visitParentVar, visitParentVideo, visitParentWbr
-
Field Details
-
out
-
depth
protected int depthkeep track of current indentation. -
isClosed
protected boolean isClosedIf the beginning tag is closed, or not, i.e. if it is"<elem>"or it is"<elem". On element visit the beginning tag is left open to include additional attributes. -
isIndented
public final boolean isIndentedIt the HTML output should be indented or not.
-
-
Method Details
-
getDepth
public final int getDepth()keep track of current indentation. -
setDepth
public final void setDepth(int v) Set current indentation. -
setIsClosed
public final void setIsClosed(boolean isClosed) -
out
-
setAppendable
-
write
-
write
protected final void write(char c) -
newlineAndIndent
public final void newlineAndIndent()Adds a new line and indentation. Checks whether the parent element is still opened or not (!isClosed). If it is open then it closes the parent begin tag with ">" (!isClosed). -
visitElement
public final void visitElement(org.xmlet.htmlapifaster.Element element) This method appends the String"<elementName"and it leaves the element open to include additional attributes. Before that it may close the parent begin tag with">"if it is still opened (!isClosed). The newlineAndIndent() is responsible for this job to check whether the parent element is still opened or not.- Specified by:
visitElementin classorg.xmlet.htmlapifaster.ElementVisitor- Parameters:
element-
-
visitParent
public final void visitParent(org.xmlet.htmlapifaster.Element element) Writes the end tag for elementName:"</elementName>.". This visit occurs when the ยบ() is invoked.- Specified by:
visitParentin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentOnVoidElements
protected final void visitParentOnVoidElements()Void elements: area, base, br, col, embed, hr, img, input, link, meta, param, source, track, wbr. This method is invoked by visitParent specialization methods (at the end of this class) for each void element such as area, base, etc. -
visitAttribute
- Specified by:
visitAttributein classorg.xmlet.htmlapifaster.ElementVisitor
-
visitText
public final <R> void visitText(org.xmlet.htmlapifaster.Text<? extends org.xmlet.htmlapifaster.Element, R> text) - Specified by:
visitTextin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitComment
public final <R> void visitComment(org.xmlet.htmlapifaster.Text<? extends org.xmlet.htmlapifaster.Element, R> text) - Specified by:
visitCommentin classorg.xmlet.htmlapifaster.ElementVisitor
-
resolve
Processing output. -
clone
Since HtmlVisitor is immutable this is the preferred way to create a copy of the existing HtmlVisitor instance with a different isIndented state.- Parameters:
isIndented- If the new visitor should indent HTML output or not.
-
visitElementRoot
public final <Z extends org.xmlet.htmlapifaster.Element> void visitElementRoot(org.xmlet.htmlapifaster.Root<Z> var1) - Overrides:
visitElementRootin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentRoot
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentRoot(org.xmlet.htmlapifaster.Root<Z> var1) - Overrides:
visitParentRootin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentHr
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentHr(org.xmlet.htmlapifaster.Hr<Z> element) - Overrides:
visitParentHrin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentEmbed
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentEmbed(org.xmlet.htmlapifaster.Embed<Z> element) - Overrides:
visitParentEmbedin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentInput
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentInput(org.xmlet.htmlapifaster.Input<Z> element) - Overrides:
visitParentInputin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentMeta
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentMeta(org.xmlet.htmlapifaster.Meta<Z> element) - Overrides:
visitParentMetain classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentBr
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentBr(org.xmlet.htmlapifaster.Br<Z> element) - Overrides:
visitParentBrin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentCol
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentCol(org.xmlet.htmlapifaster.Col<Z> element) - Overrides:
visitParentColin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentSource
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentSource(org.xmlet.htmlapifaster.Source<Z> element) - Overrides:
visitParentSourcein classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentImg
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentImg(org.xmlet.htmlapifaster.Img<Z> element) - Overrides:
visitParentImgin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentArea
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentArea(org.xmlet.htmlapifaster.Area<Z> element) - Overrides:
visitParentAreain classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentLink
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentLink(org.xmlet.htmlapifaster.Link<Z> element) - Overrides:
visitParentLinkin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentParam
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentParam(org.xmlet.htmlapifaster.Param<Z> element) - Overrides:
visitParentParamin classorg.xmlet.htmlapifaster.ElementVisitor
-
visitParentBase
public final <Z extends org.xmlet.htmlapifaster.Element> void visitParentBase(org.xmlet.htmlapifaster.Base<Z> element) - Overrides:
visitParentBasein classorg.xmlet.htmlapifaster.ElementVisitor
-