Class PrettyPrintXMLWriter
- java.lang.Object
-
- org.apache.maven.shared.utils.xml.PrettyPrintXMLWriter
-
-
Field Summary
Fields Modifier and Type Field Description private static char[]CLOSE_1private static char[]CLOSE_2private static char[]DEFAULT_LINE_INDENTprivate intdepthprivate java.lang.StringdocTypeprivate booleandocumentStartedprivate java.util.ArrayList<java.lang.String>elementStackprivate java.lang.Stringencodingprivate booleanendOnSameLineprivate char[]lineIndentprivate char[]lineSeparatorprivate booleanprocessingElementprivate java.io.PrintWriterwriter
-
Constructor Summary
Constructors Modifier Constructor Description PrettyPrintXMLWriter(java.io.PrintWriter writer)privatePrettyPrintXMLWriter(java.io.PrintWriter writer, char[] lineIndent, char[] lineSeparator, java.lang.String encoding, java.lang.String doctype)PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndent)PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String encoding, java.lang.String doctype)PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndent, java.lang.String encoding, java.lang.String doctype)PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndent, java.lang.String lineSeparator, java.lang.String encoding, java.lang.String doctype)PrettyPrintXMLWriter(java.io.Writer writer)PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String lineIndent)PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String encoding, java.lang.String doctype)PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String lineIndent, java.lang.String encoding, java.lang.String doctype)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAttribute(java.lang.String key, java.lang.String value)Add a XML attribute to the current XML Element.private voidcompletePreviouslyOpenedElement()voidendElement()End the previously opened element.private booleanensureDocumentStarted()Write the document if not already done.private voidnewLine()voidsetDocType(java.lang.String docType)Sets the DOCTYPE of the document.voidsetEncoding(java.lang.String encoding)Sets the encoding of the document.voidsetLineIndenter(java.lang.String lineIndentParameter)voidsetLineSeparator(java.lang.String lineSeparator)voidstartElement(java.lang.String elementName)Start an XML Element tag.private voidwriteDocumentHeader()voidwriteMarkup(java.lang.String markup)Add preformatted markup to the current element tag.voidwriteText(java.lang.String text)Add text to the current element tag.
-
-
-
Field Detail
-
CLOSE_1
private static final char[] CLOSE_1
-
CLOSE_2
private static final char[] CLOSE_2
-
DEFAULT_LINE_INDENT
private static final char[] DEFAULT_LINE_INDENT
-
writer
private java.io.PrintWriter writer
-
elementStack
private java.util.ArrayList<java.lang.String> elementStack
-
processingElement
private boolean processingElement
-
documentStarted
private boolean documentStarted
-
endOnSameLine
private boolean endOnSameLine
-
depth
private int depth
-
lineIndent
private char[] lineIndent
-
lineSeparator
private char[] lineSeparator
-
encoding
private java.lang.String encoding
-
docType
private java.lang.String docType
-
-
Constructor Detail
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndent)- Parameters:
writer- not nulllineIndent- can be null, but the normal way is some spaces
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String lineIndent)- Parameters:
writer- not nulllineIndent- can be null, but the normal way is some spaces.
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.PrintWriter writer)
- Parameters:
writer- not null
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.Writer writer)
- Parameters:
writer- not null
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndent, java.lang.String encoding, java.lang.String doctype)- Parameters:
writer- not nulllineIndent- can be null, but the normal way is some spacesencoding- can be null or invaliddoctype- can be null
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String lineIndent, java.lang.String encoding, java.lang.String doctype)- Parameters:
writer- not nulllineIndent- can be null, but the normal way is some spacesencoding- can be null or invaliddoctype- can be null
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String encoding, java.lang.String doctype)- Parameters:
writer- not nullencoding- can be null or invaliddoctype- can be null
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.Writer writer, java.lang.String encoding, java.lang.String doctype)- Parameters:
writer- not nullencoding- can be null or invaliddoctype- can be null
-
PrettyPrintXMLWriter
public PrettyPrintXMLWriter(java.io.PrintWriter writer, java.lang.String lineIndent, java.lang.String lineSeparator, java.lang.String encoding, java.lang.String doctype)- Parameters:
writer- not nulllineIndent- can be null, but the normal way is some spaces.lineSeparator- can be null, but the normal way is valid line separatorencoding- can be null or the encoding to use.doctype- can be null
-
PrettyPrintXMLWriter
private PrettyPrintXMLWriter(java.io.PrintWriter writer, char[] lineIndent, char[] lineSeparator, java.lang.String encoding, java.lang.String doctype)- Parameters:
writer- not nulllineIndent- can be null, but the normal way is some spaceslineSeparator- can be null, but the normal way is valid line separatorencoding- can be null or the encoding to usedoctype- can be null
-
-
Method Detail
-
addAttribute
public void addAttribute(java.lang.String key, java.lang.String value) throws java.io.IOExceptionAdd a XML attribute to the current XML Element. This method must get called immediately afterXMLWriter.startElement(String).- Specified by:
addAttributein interfaceXMLWriter- Parameters:
key- The key of the attribute.value- The value of the attribute.- Throws:
java.io.IOException- if adding the attribute fails.
-
setEncoding
public void setEncoding(java.lang.String encoding)
Sets the encoding of the document. If not set, UTF-8 is used.- Specified by:
setEncodingin interfaceXMLWriter- Parameters:
encoding- the encoding
-
setDocType
public void setDocType(java.lang.String docType)
Sets the DOCTYPE of the document.- Specified by:
setDocTypein interfaceXMLWriter- Parameters:
docType- the docType
-
setLineSeparator
public void setLineSeparator(java.lang.String lineSeparator)
- Parameters:
lineSeparator- the line separator to be output
-
setLineIndenter
public void setLineIndenter(java.lang.String lineIndentParameter)
- Parameters:
lineIndentParameter- the line indent parameter
-
startElement
public void startElement(java.lang.String elementName) throws java.io.IOExceptionStart an XML Element tag.- Specified by:
startElementin interfaceXMLWriter- Parameters:
elementName- the name of the tag- Throws:
java.io.IOException- if starting the element fails
-
writeText
public void writeText(java.lang.String text) throws java.io.IOExceptionAdd text to the current element tag. This performs XML escaping to guarantee well-formed content.
-
writeMarkup
public void writeMarkup(java.lang.String markup) throws java.io.IOExceptionAdd preformatted markup to the current element tag.- Specified by:
writeMarkupin interfaceXMLWriter- Parameters:
markup- the text which should be written- Throws:
java.io.IOException- if writing the markup fails
-
endElement
public void endElement() throws java.io.IOExceptionEnd the previously opened element.- Specified by:
endElementin interfaceXMLWriter- Throws:
java.io.IOException- if ending the element fails.- See Also:
XMLWriter.startElement(String)
-
ensureDocumentStarted
private boolean ensureDocumentStarted()
Write the document if not already done.- Returns:
trueif the document headers have freshly been written.
-
writeDocumentHeader
private void writeDocumentHeader()
-
newLine
private void newLine()
-
completePreviouslyOpenedElement
private void completePreviouslyOpenedElement()
-
-