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) Iterates over all children and calls appendNode() for every child.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 voidappendElement(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) Process all other nodes; block level elements are surrounded by a required line break and elements with an own white-space style switch the mode for their children.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; calls 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 voidappendPreformattedText(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlElement htmlPre, boolean insideHead, boolean insideSelect) ProcessHtmlPreformattedText.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) Iterates over all children and calls appendNode() for every child.- 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; calls 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
-
appendElement
protected void appendElement(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, DomNode node, HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder.Mode mode, boolean insideHead, boolean insideSelect) Process all other nodes; block level elements are surrounded by a required line break and elements with an own white-space style switch the mode for their children.- 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
-
appendPreformattedText
protected void appendPreformattedText(HtmlSerializerInnerOuterText.HtmlSerializerTextBuilder builder, HtmlElement htmlPre, boolean insideHead, boolean insideSelect) ProcessHtmlPreformattedText. The default white-space handling of a pre element is 'pre', but an explicit white-space style of the element (or one of its ancestors) wins.- Parameters:
builder- the StringBuilder to add tohtmlPre- the target to processinsideHead- 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
-