[jdom-interest] XMLOutputter observations
Rick Beton
richard.beton at dsl.pipex.com
Thu Feb 26 14:28:11 PST 2004
Hi All,
I'm new on the list so forgive me if this repeats things others have
already said.
I wanted to write some XHTML and SVG documents from Java, so I started
writing an XMLWriter class to ensure the syntax is well-formed and
valid. Then I thought I'd check out other possibilities before I'd gone
too far on a home grown solution. JDOM offers what appears (in my
limited knowledge) to be a well-matched solution to what I need.
So I downloaded the source code via CVS and started looking through to
see what it could do for me. Here are a few first-impression
detail-code-review type of observations, which may be useful or not. (I
don't claim to have done any sort of thorough code review, just a first
glance. Generally, it appears a lot of care has gone into the coding,
which inspires a good level of confidence.).
Re: org.jdom.output.XMLOutputter rev 1.105
1. lines 59...: imports with * should be expanded (to eliminate
non-dependencies).
2. skipTrialingWhite (line 1220) - spelling should be skipTrailingWhite
- this method is private so it's not very important
3. outputString (lines 524...) - these methods are perhaps in the wrong
class. Although a clever convenience, they rather fatten the class with
something that could have been separate (e.g. as a helper class or a
derived class).
4. I am uneasy that the output(Document doc, OutputStream out) method,
which writes a whole document in one go, sits alongside a suite of other
output methods that write a document part by part. These seem to me to
be different ways of doing the same thing; perhaps therefore they should
be done by different classes (?).
5. Eclipse points out some other redundant imports:
XMLOutputter only needs
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
import java.util.List;
import org.jdom.Attribute;
import org.jdom.CDATA;
import org.jdom.Comment;
import org.jdom.DocType;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.EntityRef;
import org.jdom.Namespace;
import org.jdom.ProcessingInstruction;
import org.jdom.Text;
DefaultJDOMFactory: only needs
import java.util.Map;
JDOMFactory: only needs
import java.util.Map;
ElementFilter only needs:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import org.jdom.Element;
import org.jdom.Namespace;
That's enough for now. Enjoy!
Rick :-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3455 bytes
Desc: S/MIME Cryptographic Signature
Url : http://jdom.org/pipermail/jdom-interest/attachments/20040226/d93f9704/smime.bin
More information about the jdom-interest
mailing list