java.lang.Object | ||
↳ | javax.swing.text.html.HTMLEditorKit.ParserCallback | |
↳ | javax.swing.text.html.HTMLDocument.HTMLReader |
An HTML reader to load an HTML document with an HTML element structure. This is a set of callbacks from the parser, implemented to create a set of elements tagged with attributes. The parse builds up tokens (ElementSpec) that describe the element subtree desired, and burst it into the document under the protection of a write lock using the insert method on the document outer class.
The reader can be configured by registering actions
(of type HTMLDocument.HTMLReader.TagAction
)
that describe how to handle the action. The idea behind
the actions provided is that the most natural text editing
operations can be provided if the element structure boils
down to paragraphs with runs of some kind of style
in them. Some things are more naturally specified
structurally, so arbitrary structure should be allowed
above the paragraphs, but will need to be edited with structural
actions. The implication of this is that some of the
HTML elements specified in the stream being parsed will
be collapsed into attributes, and in some cases paragraphs
will be synthesized. When HTML elements have been
converted to attributes, the attribute key will be of
type HTML.Tag, and the value will be of type AttributeSet
so that no information is lost. This enables many of the
existing actions to work so that the user can type input,
hit the return key, backspace, delete, etc and have a
reasonable result. Selections can be created, and attributes
applied or removed, etc. With this in mind, the work done
by the reader can be categorized into the following kinds
of tasks:
Currently, <APPLET>, <PARAM>, <MAP>, <AREA>, <LINK>, <SCRIPT> and <STYLE> are unsupported.
The assignment of the actions described is shown in the
following table for the tags defined in HTML.Tag
.
Tag | Action |
---|---|
HTML.Tag.A | CharacterAction |
HTML.Tag.ADDRESS | CharacterAction |
HTML.Tag.APPLET | HiddenAction |
HTML.Tag.AREA | AreaAction |
HTML.Tag.B | CharacterAction |
HTML.Tag.BASE | BaseAction |
HTML.Tag.BASEFONT | CharacterAction |
HTML.Tag.BIG | CharacterAction |
HTML.Tag.BLOCKQUOTE | BlockAction |
HTML.Tag.BODY | BlockAction |
HTML.Tag.BR | SpecialAction |
HTML.Tag.CAPTION | BlockAction |
HTML.Tag.CENTER | BlockAction |
HTML.Tag.CITE | CharacterAction |
HTML.Tag.CODE | CharacterAction |
HTML.Tag.DD | BlockAction |
HTML.Tag.DFN | CharacterAction |
HTML.Tag.DIR | BlockAction |
HTML.Tag.DIV | BlockAction |
HTML.Tag.DL | BlockAction |
HTML.Tag.DT | ParagraphAction |
HTML.Tag.EM | CharacterAction |
HTML.Tag.FONT | CharacterAction |
HTML.Tag.FORM | As of 1.4 a BlockAction |
HTML.Tag.FRAME | SpecialAction |
HTML.Tag.FRAMESET | BlockAction |
HTML.Tag.H1 | ParagraphAction |
HTML.Tag.H2 | ParagraphAction |
HTML.Tag.H3 | ParagraphAction |
HTML.Tag.H4 | ParagraphAction |
HTML.Tag.H5 | ParagraphAction |
HTML.Tag.H6 | ParagraphAction |
HTML.Tag.HEAD | HeadAction |
HTML.Tag.HR | SpecialAction |
HTML.Tag.HTML | BlockAction |
HTML.Tag.I | CharacterAction |
HTML.Tag.IMG | SpecialAction |
HTML.Tag.INPUT | FormAction |
HTML.Tag.ISINDEX | IsndexAction |
HTML.Tag.KBD | CharacterAction |
HTML.Tag.LI | BlockAction |
HTML.Tag.LINK | LinkAction |
HTML.Tag.MAP | MapAction |
HTML.Tag.MENU | BlockAction |
HTML.Tag.META | MetaAction |
HTML.Tag.NOFRAMES | BlockAction |
HTML.Tag.OBJECT | SpecialAction |
HTML.Tag.OL | BlockAction |
HTML.Tag.OPTION | FormAction |
HTML.Tag.P | ParagraphAction |
HTML.Tag.PARAM | HiddenAction |
HTML.Tag.PRE | PreAction |
HTML.Tag.SAMP | CharacterAction |
HTML.Tag.SCRIPT | HiddenAction |
HTML.Tag.SELECT | FormAction |
HTML.Tag.SMALL | CharacterAction |
HTML.Tag.STRIKE | CharacterAction |
HTML.Tag.S | CharacterAction |
HTML.Tag.STRONG | CharacterAction |
HTML.Tag.STYLE | StyleAction |
HTML.Tag.SUB | CharacterAction |
HTML.Tag.SUP | CharacterAction |
HTML.Tag.TABLE | BlockAction |
HTML.Tag.TD | BlockAction |
HTML.Tag.TEXTAREA | FormAction |
HTML.Tag.TH | BlockAction |
HTML.Tag.TITLE | TitleAction |
HTML.Tag.TR | BlockAction |
HTML.Tag.TT | CharacterAction |
HTML.Tag.U | CharacterAction |
HTML.Tag.UL | BlockAction |
HTML.Tag.VAR | CharacterAction |
Once </html> is encountered, the Actions are no longer notified.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
HTMLDocument.HTMLReader.BlockAction | |||||||||||
HTMLDocument.HTMLReader.CharacterAction | |||||||||||
HTMLDocument.HTMLReader.FormAction | Action to support forms by building all of the elements used to represent form controls. | ||||||||||
HTMLDocument.HTMLReader.HiddenAction | |||||||||||
HTMLDocument.HTMLReader.IsindexAction | |||||||||||
HTMLDocument.HTMLReader.ParagraphAction | |||||||||||
HTMLDocument.HTMLReader.PreAction | |||||||||||
HTMLDocument.HTMLReader.SpecialAction | |||||||||||
HTMLDocument.HTMLReader.TagAction | An action to be performed in response to parsing a tag. |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
charAttr | |||||||||||
parseBuffer |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
The last method called on the reader.
| |||||||||||
This is invoked after the stream has been parsed, but before
flush . | |||||||||||
Callback from the parser.
| |||||||||||
Callback from the parser.
| |||||||||||
Callback from the parser.
| |||||||||||
Called by the parser to indicate a block of text was
encountered.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Adds some text with the current character attributes.
| |||||||||||
Adds some text with the current character attributes.
| |||||||||||
Adds content that is basically specified entirely
in the attribute set.
| |||||||||||
Adds an instruction to the parse buffer to close out
a block element of the given type.
| |||||||||||
Adds an instruction to the parse buffer to create a
block element with the given attributes.
| |||||||||||
Pops a previously pushed character style off the stack
to return to a previous style.
| |||||||||||
Adds the given content that was encountered in a
PRE element.
| |||||||||||
Pushes the current character style on a stack in preparation
for forming a new nested character style.
| |||||||||||
Registers a handler for the given tag.
| |||||||||||
Adds the given content to the textarea document.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
The last method called on the reader. It allows any pending changes to be flushed into the document. Since this is currently loading synchronously, the entire set of changes are pushed in at this point.
BadLocationException |
---|
This is invoked after the stream has been parsed, but before
flush
. eol
will be one of \n, \r
or \r\n, which ever is encountered the most in parsing the
stream.
Callback from the parser. Route to the appropriate handler for the tag.
Callback from the parser. Route to the appropriate handler for the tag.
Callback from the parser. Route to the appropriate handler for the tag.
Called by the parser to indicate a block of text was encountered.
Adds some text with the current character attributes.
data | the content to add |
---|---|
offs | the initial offset |
length | the length |
generateImpliedPIfNecessary | whether to generate implied paragraphs |
Adds some text with the current character attributes.
data | the content to add |
---|---|
offs | the initial offset |
length | the length |
Adds content that is basically specified entirely in the attribute set.
Adds an instruction to the parse buffer to close out a block element of the given type.
Adds an instruction to the parse buffer to create a block element with the given attributes.
Pops a previously pushed character style off the stack to return to a previous style.
Adds the given content that was encountered in a PRE element. This synthesizes lines to hold the runs of text, and makes calls to addContent to actually add the text.
Pushes the current character style on a stack in preparation for forming a new nested character style.
Registers a handler for the given tag. By default all of the well-known tags will have been registered. This can be used to change the handling of a particular tag or to add support for custom tags.
Adds the given content to the textarea document. This method gets called when we are in a textarea context. Therefore all text that is seen belongs to the text area and is hence added to the TextAreaDocument associated with the text area.