Class PrettyPrintXMLWriter
- java.lang.Object
-
- org.apache.maven.shared.utils.xml.PrettyPrintXMLWriter
-
-
Field Summary
Fields Modifier and Type Field Description private static char[]
CLOSE_1
private static char[]
CLOSE_2
private static char[]
DEFAULT_LINE_INDENT
private int
depth
private java.lang.String
docType
private boolean
documentStarted
private java.util.ArrayList<java.lang.String>
elementStack
private java.lang.String
encoding
private boolean
endOnSameLine
private char[]
lineIndent
private char[]
lineSeparator
private boolean
processingElement
private java.io.PrintWriter
writer
-
Constructor Summary
Constructors Modifier Constructor Description PrettyPrintXMLWriter(java.io.PrintWriter writer)
private
PrettyPrintXMLWriter(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 void
addAttribute(java.lang.String key, java.lang.String value)
Add a XML attribute to the current XML Element.private void
completePreviouslyOpenedElement()
void
endElement()
End the previously opened element.private boolean
ensureDocumentStarted()
Write the document if not already done.private void
newLine()
void
setDocType(java.lang.String docType)
Sets the DOCTYPE of the document.void
setEncoding(java.lang.String encoding)
Sets the encoding of the document.void
setLineIndenter(java.lang.String lineIndentParameter)
void
setLineSeparator(java.lang.String lineSeparator)
void
startElement(java.lang.String elementName)
Start an XML Element tag.private void
writeDocumentHeader()
void
writeMarkup(java.lang.String markup)
Add preformatted markup to the current element tag.void
writeText(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.IOException
Add a XML attribute to the current XML Element. This method must get called immediately afterXMLWriter.startElement(String)
.- Specified by:
addAttribute
in 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:
setEncoding
in interfaceXMLWriter
- Parameters:
encoding
- the encoding
-
setDocType
public void setDocType(java.lang.String docType)
Sets the DOCTYPE of the document.- Specified by:
setDocType
in 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.IOException
Start an XML Element tag.- Specified by:
startElement
in 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.IOException
Add 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.IOException
Add preformatted markup to the current element tag.- Specified by:
writeMarkup
in 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.IOException
End the previously opened element.- Specified by:
endElement
in 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:
true
if the document headers have freshly been written.
-
writeDocumentHeader
private void writeDocumentHeader()
-
newLine
private void newLine()
-
completePreviouslyOpenedElement
private void completePreviouslyOpenedElement()
-
-