- java.lang.Object
-
- javax.swing.text.AbstractWriter
-
- javax.swing.text.html.HTMLWriter
-
public class HTMLWriter extends AbstractWriter
This is a writer for HTMLDocuments.
-
-
Field Summary
-
Fields declared in class javax.swing.text.AbstractWriter
NEWLINE
-
-
Constructor Summary
Constructors Constructor Description HTMLWriter(Writer w, HTMLDocument doc)Creates a new HTMLWriter.HTMLWriter(Writer w, HTMLDocument doc, int pos, int len)Creates a new HTMLWriter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcloseOutUnwantedEmbeddedTags(AttributeSet attr)Searches the attribute set and for each tag that is stored in the tag vector.protected voidcomment(Element elem)Writes out comments.protected voidemptyTag(Element elem)Writes out all empty elements (all tags that have no corresponding end tag).protected voidendTag(Element elem)Writes out an end tag for the element.protected booleanisBlockTag(AttributeSet attr)Determines if the HTML.Tag associated with the element is a block tag.protected booleanmatchNameAttribute(AttributeSet attr, HTML.Tag tag)Returns true if the StyleConstants.NameAttribute is equal to the tag that is passed in as a parameter.protected voidoutput(char[] chars, int start, int length)This method is overriden to map any character entities, such as < to <.protected voidselectContent(AttributeSet attr)Writes out the content of the SELECT form element.protected voidstartTag(Element elem)Writes out a start tag for the element.protected booleansynthesizedElement(Element elem)Returnstrueif the element is a synthesized element.protected voidtext(Element elem)Writes out text.protected voidtextAreaContent(AttributeSet attr)Writes out text that is contained in a TEXTAREA form element.voidwrite()Iterates over the Element tree and controls the writing out of all the tags and its attributes.protected voidwriteAttributes(AttributeSet attr)Writes out the attribute set.protected voidwriteEmbeddedTags(AttributeSet attr)Searches for embedded tags in the AttributeSet and writes them out.protected voidwriteLineSeparator()Writes the line separator.protected voidwriteOption(Option option)Writes out the content of the Option form element.-
Methods declared in class javax.swing.text.AbstractWriter
decrIndent, getCanWrapLines, getCurrentLineLength, getDocument, getElementIterator, getEndOffset, getIndentLevel, getIndentSpace, getLineLength, getLineSeparator, getStartOffset, getText, getWriter, incrIndent, indent, inRange, isLineEmpty, setCanWrapLines, setCurrentLineLength, setIndentSpace, setLineLength, setLineSeparator, write, write, write
-
-
-
-
Constructor Detail
-
HTMLWriter
public HTMLWriter(Writer w, HTMLDocument doc)
Creates a new HTMLWriter.- Parameters:
w- a Writerdoc- an HTMLDocument
-
HTMLWriter
public HTMLWriter(Writer w, HTMLDocument doc, int pos, int len)
Creates a new HTMLWriter.- Parameters:
w- a Writerdoc- an HTMLDocumentpos- the document location from which to fetch the contentlen- the amount to write out
-
-
Method Detail
-
write
public void write() throws IOException, BadLocationExceptionIterates over the Element tree and controls the writing out of all the tags and its attributes.- Specified by:
writein classAbstractWriter- Throws:
IOException- on any I/O errorBadLocationException- if pos represents an invalid location within the document.
-
writeAttributes
protected void writeAttributes(AttributeSet attr) throws IOException
Writes out the attribute set. Ignores all attributes with a key of type HTML.Tag, attributes with a key of type StyleConstants, and attributes with a key of type HTML.Attribute.ENDTAG.- Overrides:
writeAttributesin classAbstractWriter- Parameters:
attr- an AttributeSet- Throws:
IOException- on any I/O error
-
emptyTag
protected void emptyTag(Element elem) throws BadLocationException, IOException
Writes out all empty elements (all tags that have no corresponding end tag).- Parameters:
elem- an Element- Throws:
IOException- on any I/O errorBadLocationException- if pos represents an invalid location within the document.
-
isBlockTag
protected boolean isBlockTag(AttributeSet attr)
Determines if the HTML.Tag associated with the element is a block tag.- Parameters:
attr- an AttributeSet- Returns:
- true if tag is block tag, false otherwise.
-
startTag
protected void startTag(Element elem) throws IOException, BadLocationException
Writes out a start tag for the element. Ignores all synthesized elements.- Parameters:
elem- an Element- Throws:
IOException- on any I/O errorBadLocationException- if pos represents an invalid location within the document.
-
textAreaContent
protected void textAreaContent(AttributeSet attr) throws BadLocationException, IOException
Writes out text that is contained in a TEXTAREA form element.- Parameters:
attr- an AttributeSet- Throws:
IOException- on any I/O errorBadLocationException- if pos represents an invalid location within the document.
-
text
protected void text(Element elem) throws BadLocationException, IOException
Writes out text. If a range is specified when the constructor is invoked, then only the appropriate range of text is written out.- Overrides:
textin classAbstractWriter- Parameters:
elem- an Element- Throws:
IOException- on any I/O errorBadLocationException- if pos represents an invalid location within the document.
-
selectContent
protected void selectContent(AttributeSet attr) throws IOException
Writes out the content of the SELECT form element.- Parameters:
attr- the AttributeSet associated with the form element- Throws:
IOException- on any I/O error
-
writeOption
protected void writeOption(Option option) throws IOException
Writes out the content of the Option form element.- Parameters:
option- an Option- Throws:
IOException- on any I/O error
-
endTag
protected void endTag(Element elem) throws IOException
Writes out an end tag for the element.- Parameters:
elem- an Element- Throws:
IOException- on any I/O error
-
comment
protected void comment(Element elem) throws BadLocationException, IOException
Writes out comments.- Parameters:
elem- an Element- Throws:
IOException- on any I/O errorBadLocationException- if pos represents an invalid location within the document.
-
synthesizedElement
protected boolean synthesizedElement(Element elem)
Returnstrueif the element is a synthesized element. Currently we are only testing for the p-implied tag.- Parameters:
elem- an element- Returns:
trueif the element is a synthesized element.
-
matchNameAttribute
protected boolean matchNameAttribute(AttributeSet attr, HTML.Tag tag)
Returns true if the StyleConstants.NameAttribute is equal to the tag that is passed in as a parameter.- Parameters:
attr- a set of attributestag- an HTML tag- Returns:
trueif the StyleConstants.NameAttribute is equal to the tag that is passed in as a parameter.
-
writeEmbeddedTags
protected void writeEmbeddedTags(AttributeSet attr) throws IOException
Searches for embedded tags in the AttributeSet and writes them out. It also stores these tags in a vector so that when appropriate the corresponding end tags can be written out.- Parameters:
attr- a set of attributes- Throws:
IOException- on any I/O error
-
closeOutUnwantedEmbeddedTags
protected void closeOutUnwantedEmbeddedTags(AttributeSet attr) throws IOException
Searches the attribute set and for each tag that is stored in the tag vector. If the tag is not found, then the tag is removed from the vector and a corresponding end tag is written out.- Parameters:
attr- a set of attributes- Throws:
IOException- on any I/O error
-
writeLineSeparator
protected void writeLineSeparator() throws IOExceptionWrites the line separator. This is overriden to make sure we don't replace the newline content in case it is outside normal ascii.- Overrides:
writeLineSeparatorin classAbstractWriter- Throws:
IOException- on any I/O error- Since:
- 1.3
-
output
protected void output(char[] chars, int start, int length) throws IOExceptionThis method is overriden to map any character entities, such as < to <.super.outputwill be invoked to write the content.- Overrides:
outputin classAbstractWriter- Parameters:
chars- characters to outputstart- starting indexlength- length of output- Throws:
IOException- on any I/O error- Since:
- 1.3
-
-