Package org.jsoup.parser
Class TreeBuilder
- java.lang.Object
-
- org.jsoup.parser.TreeBuilder
-
- Direct Known Subclasses:
HtmlTreeBuilder,XmlTreeBuilder
abstract class TreeBuilder extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringbaseUriprotected TokencurrentTokenprotected Documentdocprivate Token.EndTagendprotected Parserparser(package private) CharacterReaderreaderprotected java.util.Map<java.lang.String,Tag>seenTagsprotected ParseSettingssettingsprotected java.util.ArrayList<Element>stackprivate Token.StartTagstart(package private) Tokenisertokeniser
-
Constructor Summary
Constructors Constructor Description TreeBuilder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected ElementcurrentElement()Get the current element (last on the stack).protected booleancurrentElementIs(java.lang.String normalName)Checks if the Current Element's normal name equals the supplied name.(package private) abstract ParseSettingsdefaultSettings()protected voiderror(java.lang.String msg)If the parser is tracking errors, add an error at the current position.protected voiderror(java.lang.String msg, java.lang.Object... args)If the parser is tracking errors, add an error at the current position.protected voidinitialiseParse(java.io.Reader input, java.lang.String baseUri, Parser parser)protected booleanisContentForTagData(java.lang.String normalName)(An internal method, visible for Element.(package private) abstract TreeBuildernewInstance()Create a new copy of this TreeBuilder(package private) Documentparse(java.io.Reader input, java.lang.String baseUri, Parser parser)(package private) abstract java.util.List<Node>parseFragment(java.lang.String inputFragment, Element context, java.lang.String baseUri, Parser parser)protected abstract booleanprocess(Token token)protected booleanprocessEndTag(java.lang.String name)protected booleanprocessStartTag(java.lang.String name)booleanprocessStartTag(java.lang.String name, Attributes attrs)protected voidrunParser()protected TagtagFor(java.lang.String tagName, ParseSettings settings)
-
-
-
Field Detail
-
parser
protected Parser parser
-
reader
CharacterReader reader
-
tokeniser
Tokeniser tokeniser
-
doc
protected Document doc
-
stack
protected java.util.ArrayList<Element> stack
-
baseUri
protected java.lang.String baseUri
-
currentToken
protected Token currentToken
-
settings
protected ParseSettings settings
-
seenTags
protected java.util.Map<java.lang.String,Tag> seenTags
-
start
private Token.StartTag start
-
end
private Token.EndTag end
-
-
Method Detail
-
defaultSettings
abstract ParseSettings defaultSettings()
-
initialiseParse
@ParametersAreNonnullByDefault protected void initialiseParse(java.io.Reader input, java.lang.String baseUri, Parser parser)
-
parse
@ParametersAreNonnullByDefault Document parse(java.io.Reader input, java.lang.String baseUri, Parser parser)
-
newInstance
abstract TreeBuilder newInstance()
Create a new copy of this TreeBuilder- Returns:
- copy, ready for a new parse
-
parseFragment
abstract java.util.List<Node> parseFragment(java.lang.String inputFragment, Element context, java.lang.String baseUri, Parser parser)
-
runParser
protected void runParser()
-
process
protected abstract boolean process(Token token)
-
processStartTag
protected boolean processStartTag(java.lang.String name)
-
processStartTag
public boolean processStartTag(java.lang.String name, Attributes attrs)
-
processEndTag
protected boolean processEndTag(java.lang.String name)
-
currentElement
protected Element currentElement()
Get the current element (last on the stack). If all items have been removed, returns the document instead (which might not actually be on the stack; use stack.size() == 0 to test if required.- Returns:
- the last element on the stack, if any; or the root document
-
currentElementIs
protected boolean currentElementIs(java.lang.String normalName)
Checks if the Current Element's normal name equals the supplied name.- Parameters:
normalName- name to check- Returns:
- true if there is a current element on the stack, and its name equals the supplied
-
error
protected void error(java.lang.String msg)
If the parser is tracking errors, add an error at the current position.- Parameters:
msg- error message
-
error
protected void error(java.lang.String msg, java.lang.Object... args)If the parser is tracking errors, add an error at the current position.- Parameters:
msg- error message templateargs- template arguments
-
isContentForTagData
protected boolean isContentForTagData(java.lang.String normalName)
(An internal method, visible for Element. For HTML parse, signals that script and style text should be treated as Data Nodes).
-
tagFor
protected Tag tagFor(java.lang.String tagName, ParseSettings settings)
-
-