"I'm just sitting here watching the wheels go round and round, I really love to watch them roll..." John Lennon
Showing posts with label XML. Show all posts
Showing posts with label XML. Show all posts
Wednesday, December 23, 2009
Entity metadata: Java vs XML
The architecture of the last multi-tier project I worked for included a bunch of C# frontends connecting to a few Java services. There were a number of business domain entities. The state of almost every entity was continuously mutated.
Labels:
architecture,
best practice,
hint,
java,
solution,
XML
Wednesday, November 4, 2009
Tuesday, October 20, 2009
A hint for indenting with XMLStreamWriter
Default implementation of javax.xml.stream.XMLStreamWriter does not support such output features as indentation and multi-line output. Correspondingly the resulting text is always a long one-line string which many of us would want to format in a pretty style for better reading. There is a solution bundled with Java 6 although it is sort of internal Sun facility which may have gone one beautiful day.:-) The class is named com.sun.xml.internal.txw2.output.IndentingXMLStreamWriter, it is public, and it resides in rt.jar. Using it is a matter of couple of lines in your code:
As shown above it allows you to vary the indent character sequence giving certain flexibility by that.
The only problem I can think of might be due to the end-of-line character internally hard-coded by '\n'. I would prefer having system-dependent or, better, a user-provided line terminator instead.
P.S. Just discovered that this class is only included into JRE not into JDK. That means one sure way to solve the original problem is to duplicate the class source in your application. There is nothing special in its logic as it routinely decorates an instance of XMLStreamWriter with the required functionality. The source code for JDK 6 can be downloaded from this page.
final XMLStreamWriter defaultWriter =
XMLOutputFactory.newInstance().createXMLStreamWriter(writer);
final IndentingXMLStreamWriter sw = new IndentingXMLStreamWriter(defaultWriter);
sw.setIndentStep(" ");As shown above it allows you to vary the indent character sequence giving certain flexibility by that.
The only problem I can think of might be due to the end-of-line character internally hard-coded by '\n'. I would prefer having system-dependent or, better, a user-provided line terminator instead.
P.S. Just discovered that this class is only included into JRE not into JDK. That means one sure way to solve the original problem is to duplicate the class source in your application. There is nothing special in its logic as it routinely decorates an instance of XMLStreamWriter with the required functionality. The source code for JDK 6 can be downloaded from this page.
Subscribe to:
Posts (Atom)