Package org.apache.cayenne.util
Class XMLEncoder
- java.lang.Object
-
- org.apache.cayenne.util.XMLEncoder
-
public class XMLEncoder extends Object
A helper class to encode objects to XML.
Usage:XMLEncoder encoder = new XMLEncoder(writer); encoder .start("tag").attribute("name", "tag_name_attribute") .start("nested_tag").attribute("name", "nested_tag_name).cdata("tag text element").end() .end();- Since:
- 1.1, 4.1 API is greatly reworked to be more usable
-
-
Field Summary
Fields Modifier and Type Field Description protected booleancdataprotected intcurrentTagLevelprotected Stringindentprotected booleanindentLineprotected intindentTimesprotected intlastTagLevelprotected Deque<String>openTagsprotected PrintWriteroutprotected StringprojectVersionprotected booleantagOpened
-
Constructor Summary
Constructors Constructor Description XMLEncoder(PrintWriter out)XMLEncoder(PrintWriter out, String indent)XMLEncoder(PrintWriter out, String indent, String projectVersion)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XMLEncoderattribute(String name, boolean value)XMLEncoderattribute(String name, int value)XMLEncoderattribute(String name, String value)XMLEncoderattribute(String name, String value, boolean newLine)XMLEncodercdata(String data)XMLEncodercdata(String data, boolean escape)XMLEncoderend()This method will track presence of nested tags and print closure accordinglyXMLEncoderindent(int i)XMLEncodernested(Collection<? extends XMLSerializable> collection, ConfigurationNodeVisitor delegate)XMLEncodernested(Map<?,? extends XMLSerializable> map, ConfigurationNodeVisitor delegate)XMLEncodernested(XMLSerializable object, ConfigurationNodeVisitor delegate)XMLEncoderprint(String text)XMLEncoderprintln()XMLEncoderprintln(String text)XMLEncoderprojectVersion()Inserts an optional project version attribute in the output.XMLEncoderproperty(String name, boolean b)Prints a common XML element - property with name and value.XMLEncoderproperty(String name, int i)Prints a common XML element - property with name and value.XMLEncoderproperty(String name, String value)Prints a common XML element - property with name and value.XMLEncodersimpleTag(String tag, String value)Prints common XML element - tag with name and text value (<tag>value</tag>) If value is empty, nothing will be printed.XMLEncoderstart(String tag)
-
-
-
Field Detail
-
projectVersion
protected String projectVersion
-
indent
protected String indent
-
out
protected PrintWriter out
-
indentLine
protected boolean indentLine
-
indentTimes
protected int indentTimes
-
tagOpened
protected boolean tagOpened
-
cdata
protected boolean cdata
-
currentTagLevel
protected int currentTagLevel
-
lastTagLevel
protected int lastTagLevel
-
-
Constructor Detail
-
XMLEncoder
public XMLEncoder(PrintWriter out)
-
XMLEncoder
public XMLEncoder(PrintWriter out, String indent)
-
XMLEncoder
public XMLEncoder(PrintWriter out, String indent, String projectVersion)
- Since:
- 3.1
-
-
Method Detail
-
indent
public XMLEncoder indent(int i)
-
print
public XMLEncoder print(String text)
-
println
public XMLEncoder println(String text)
-
println
public XMLEncoder println()
- Since:
- 3.1
-
start
public XMLEncoder start(String tag)
- Parameters:
tag- to start- Returns:
- this
- Since:
- 4.1
-
end
public XMLEncoder end()
This method will track presence of nested tags and print closure accordingly- Returns:
- this
- Since:
- 4.1
-
attribute
public XMLEncoder attribute(String name, String value)
- Parameters:
name- of the attributevalue- of the attribute- Returns:
- this
- Since:
- 4.1
-
attribute
public XMLEncoder attribute(String name, String value, boolean newLine)
- Parameters:
name- of the attributevalue- of the attributenewLine- should this attribute be printed on new line- Returns:
- this
- Since:
- 4.1
-
attribute
public XMLEncoder attribute(String name, boolean value)
- Parameters:
name- of the attributevalue- of the attribute- Returns:
- this
- Since:
- 4.1
-
attribute
public XMLEncoder attribute(String name, int value)
- Parameters:
name- of the attributevalue- of the attribute- Returns:
- this
- Since:
- 4.1
-
cdata
public XMLEncoder cdata(String data)
- Parameters:
data- char data- Returns:
- this
- Since:
- 4.1
-
cdata
public XMLEncoder cdata(String data, boolean escape)
- Parameters:
data- char dataescape- does this data need to be enclosed into <![CDATA[ ... ]]>- Returns:
- this
- Since:
- 4.1
-
nested
public XMLEncoder nested(XMLSerializable object, ConfigurationNodeVisitor delegate)
- Parameters:
object- nested object to serializedelegate- visitor- Returns:
- this
- Since:
- 4.1
-
nested
public XMLEncoder nested(Collection<? extends XMLSerializable> collection, ConfigurationNodeVisitor delegate)
- Parameters:
collection- of nested objectsdelegate- visitor- Returns:
- this
- Since:
- 4.1
-
nested
public XMLEncoder nested(Map<?,? extends XMLSerializable> map, ConfigurationNodeVisitor delegate)
- Parameters:
map- of nested objectsdelegate- visitor- Returns:
- this
- Since:
- 4.1
-
property
public XMLEncoder property(String name, String value)
Prints a common XML element - property with name and value.- Since:
- 4.1
-
property
public XMLEncoder property(String name, boolean b)
Prints a common XML element - property with name and value.- Since:
- 4.1
-
property
public XMLEncoder property(String name, int i)
Prints a common XML element - property with name and value.- Since:
- 4.1
-
simpleTag
public XMLEncoder simpleTag(String tag, String value)
Prints common XML element - tag with name and text value (<tag>value</tag>) If value is empty, nothing will be printed.- Since:
- 4.1
-
projectVersion
public XMLEncoder projectVersion()
Inserts an optional project version attribute in the output. If the project version is not initialized for encoder, will do nothing.- Since:
- 4.1
-
-