|
Java Platform 1.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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 implecation 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
.
HTML.Tag.A | CharacterAction |
HTML.Tag.ADDRESS | CharacterAction |
HTML.Tag.APPLET | HiddenAction |
HTML.Tag.AREA | HiddenAction |
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 | CharacterAction |
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 | HiddenAction |
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 | HiddenAction |
HTML.Tag.MAP | HiddenAction |
HTML.Tag.MENU | BlockAction |
HTML.Tag.META | HiddenAction |
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 | HiddenAction |
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 |
Inner Class Summary | |
class |
HTMLDocument.HTMLReader.BlockAction
|
class |
HTMLDocument.HTMLReader.CharacterAction
|
class |
HTMLDocument.HTMLReader.FormAction
Action to support forms by building all of the elements used to represent form controls. |
class |
HTMLDocument.HTMLReader.HiddenAction
|
class |
HTMLDocument.HTMLReader.IsindexAction
|
class |
HTMLDocument.HTMLReader.ParagraphAction
|
class |
HTMLDocument.HTMLReader.PreAction
|
class |
HTMLDocument.HTMLReader.SpecialAction
|
class |
HTMLDocument.HTMLReader.TagAction
This is an action to be performed in response to parsing a tag. |
Field Summary | |
protected MutableAttributeSet |
charAttr
|
protected Vector |
parseBuffer
|
Constructor Summary | |
HTMLDocument.HTMLReader(int offset)
|
|
HTMLDocument.HTMLReader(int offset,
int popDepth,
int pushDepth,
HTML.Tag insertTag)
|
Method Summary | |
protected void |
addContent(char[] data,
int offs,
int length)
Add some text with the current character attributes. |
protected void |
addContent(char[] data,
int offs,
int length,
boolean generateImpliedPIfNecessary)
Add some text with the current character attributes. |
protected void |
addSpecialElement(HTML.Tag t,
MutableAttributeSet a)
Add content that is basically specified entirely in the attribute set. |
protected void |
blockClose(HTML.Tag t)
Add an instruction to the parse buffer to close out a block element of the given type. |
protected void |
blockOpen(HTML.Tag t,
MutableAttributeSet attr)
Add an instruction to the parse buffer to create a block element with the given attributes. |
void |
flush()
This is the last method called on the reader. |
void |
handleComment(char[] data,
int pos)
|
void |
handleEndTag(HTML.Tag t,
int pos)
Callback from the parser. |
void |
handleSimpleTag(HTML.Tag t,
MutableAttributeSet a,
int pos)
Callback from the parser. |
void |
handleStartTag(HTML.Tag t,
MutableAttributeSet a,
int pos)
Callback from the parser. |
void |
handleText(char[] data,
int pos)
Called by the parser to indicate a block of text was encountered. |
protected void |
popCharacterStyle()
Pop a previously pushed character style off the stack to return to a previous style. |
protected void |
preContent(char[] data)
Add the given content that was encountered in a PRE element. |
protected void |
pushCharacterStyle()
Push the current character style on a stack in preparation for forming a new nested character style. |
protected void |
registerTag(HTML.Tag t,
HTMLDocument.HTMLReader.TagAction a)
Register a handler for the given tag. |
protected void |
textAreaContent(char[] data)
Add the given content to the textarea document. |
Methods inherited from class javax.swing.text.html.HTMLEditorKit.ParserCallback |
handleError |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Field Detail |
protected Vector parseBuffer
protected MutableAttributeSet charAttr
Constructor Detail |
public HTMLDocument.HTMLReader(int offset)
public HTMLDocument.HTMLReader(int offset, int popDepth, int pushDepth, HTML.Tag insertTag)
Method Detail |
public void flush() throws BadLocationException
public void handleText(char[] data, int pos)
public void handleStartTag(HTML.Tag t, MutableAttributeSet a, int pos)
public void handleComment(char[] data, int pos)
public void handleEndTag(HTML.Tag t, int pos)
public void handleSimpleTag(HTML.Tag t, MutableAttributeSet a, int pos)
protected void registerTag(HTML.Tag t, HTMLDocument.HTMLReader.TagAction a)
protected void pushCharacterStyle()
protected void popCharacterStyle()
protected void textAreaContent(char[] data)
protected void preContent(char[] data)
protected void blockOpen(HTML.Tag t, MutableAttributeSet attr)
protected void blockClose(HTML.Tag t)
protected void addContent(char[] data, int offs, int length)
embedded
- the attributes of an embedded object.protected void addContent(char[] data, int offs, int length, boolean generateImpliedPIfNecessary)
embedded
- the attributes of an embedded object.protected void addSpecialElement(HTML.Tag t, MutableAttributeSet a)
|
Java Platform 1.2 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |