[jdom-interest] Re: Factories for Element creation

Dave Churchville dmc at clearlight.com
Wed Nov 1 08:51:05 PST 2000

Just to clarify...I'm not really talking about "special" elements that
something extra that can be gleaned by parsing, but rather app-specific
overloaded elements that will information added to them after the fact,
at creation time.

So, in fact, a "standard" SAXBuilder, etc., could just support no-arg
constructors for custom "MyElement" style classes - assuming they are
extensions of Element.  This eliminates the need for a factory, even, if
could just say "oh, by the way, when you construct a new element, make
Class.forName( elementClass).newInstance(), and by default, elementClass
"org.jdom.Element".  Of course, this is assuming that all Element
can be set in JavaBean style, and don't have to be passed in the

Anyway, I would vote for at least this capability, since its not
and doesn't even requre a lot of thought.

Jason Hunter wrote:

> > Problem with creating your own builder, (ie, MySAXBuilder), is that
> > it'd only work for SAX, and you'd have to Do It Again
> > for MyDOMBuilder,
> > or MyJDBCBuilder.  A Factory of some flavor would do wonders.  Have
> > a BuilderBase with hooks for a factory, and derive FooBuilder from
> > it.  Instantly, everything would work. ;)
> >
> >         -bob
> Problem with a BuilderBase is that you'd have to know beforehand all the
> possible createElement() arguments that might be necessary to create the
> element.  Because you're wanting this general, it can't leverage any
> builder internals to pass anything except the standard info.  Therefore,
> I see problems for anything above the trivial situation, for example
> wanting a special element that knows where in the source file it came
> from.  With a subclass, you can take advantage of special builder
> abilities in a specific subclass.
> But the beauty of the JDOM model is you can use whatever builder you
> want!  If you or anyone wants to write a builder like SAXBuilder that
> supports factories, JDOM works perfectly well with that builder.  It's
> only an issue of whether the builder classes would be official in
> org.jdom or not.  Making them official would essentially require
> refactoring the API to support factories, and as you know I'm not eager
> to see that.
> -jh-

More information about the jdom-interest mailing list