java.lang.Object
org.htmlunit.html.serializer.HtmlSerializerInnerOuterText
Special serializer to generate the output we need
for innerText and outerText.
- Author:
- Ronald Brill
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classHelper to compose the text for the serializer based on several modes. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendBreak(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlBreak htmlBreak) ProcessHtmlBreak.protected voidappendChildren(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) Iterate over all Children and call appendNode() for every.protected voidappendDefinitionTerm(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlDefinitionTerm htmlDefinitionTerm, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlDefinitionTerm.protected voidappendDescendantOptions(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) Iterate over all descendant options.protected voidappendDetails(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlDetails htmlDetails, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlDetails.protected voidappendListItem(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlListItem htmlListItem, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlListItem.protected voidappendNode(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) The core distribution method call the different appendXXX methods depending on the type of the given node.protected voidappendParagraph(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlParagraph htmlParagraph, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlParagraph.protected voidappendSelect(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlSelect htmlSelect, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlSelect.protected voidappendText(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomText domText, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode) ProcessDomText.Converts an HTML node to text.
-
Constructor Details
-
HtmlSerializerInnerOuterText
Ctor.- Parameters:
browserVersion- theBrowserVersion
-
-
Method Details
-
asText
Converts an HTML node to text.- Parameters:
node- a node- Returns:
- the text representation according to the setting of this serializer
-
appendChildren
protected void appendChildren(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) Iterate over all Children and call appendNode() for every.- Parameters:
builder- the StringBuilder to add tonode- the node to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendNode
protected void appendNode(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) The core distribution method call the different appendXXX methods depending on the type of the given node.- Parameters:
builder- the StringBuilder to add tonode- the node to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendText
protected void appendText(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomText domText, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode) ProcessDomText.- Parameters:
builder- the StringBuilder to add todomText- the target to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processing
-
appendBreak
protected void appendBreak(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlBreak htmlBreak) ProcessHtmlBreak.- Parameters:
builder- the StringBuilder to add tohtmlBreak- the target to process
-
appendParagraph
protected void appendParagraph(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlParagraph htmlParagraph, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlParagraph.- Parameters:
builder- the StringBuilder to add tohtmlParagraph- the target to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendListItem
protected void appendListItem(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlListItem htmlListItem, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlListItem.- Parameters:
builder- the StringBuilder to add tohtmlListItem- the target to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendDetails
protected void appendDetails(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlDetails htmlDetails, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlDetails.- Parameters:
builder- the StringBuilder to add tohtmlDetails- the target to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendDefinitionTerm
protected void appendDefinitionTerm(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlDefinitionTerm htmlDefinitionTerm, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlDefinitionTerm.- Parameters:
builder- the StringBuilder to add tohtmlDefinitionTerm- the target to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendSelect
protected void appendSelect(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlSelect htmlSelect, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) ProcessHtmlSelect.Select and its Option children are rendered as native form-control widgets in real browsers, not as normal inline/block boxes. The widget's internal text drawing doesn't go through the same CSS text-layout pipeline that divs or spans use, so properties like white-space: pre on a <select> or <option> get ignored by Chrome/Firefox/etc.
- Parameters:
builder- the StringBuilder to add tohtmlSelect- the target to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-
appendDescendantOptions
protected void appendDescendantOptions(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) Iterate over all descendant options.- Parameters:
builder- the StringBuilder to add tonode- the node to processmode- theHtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Modeto use for processinginsideHead- true if inside head sectioninsideSelect- true if inside a select
-