> Jim Caserta said:
>
> So betwixt can map a Java Bean to XML.. Just the opposite of
> JAXB, XML to Java?
Yeah, that's a good way to think of it. JAXB is the Torque
of XML objects. Takes XML Schema's and creates the objects
that can read and write matching XML.
Betwixt takes Bean like objects, used Bean Introspection to
find the properties and map the info in the object to XML
using a simple set of rules. It also does the reverse in
reading in XML and creating populated objects.
The defaults rules are pretty good and if you're code is
Bean safe and you don't care about verbage/DTD's, you can
use it without creating any betwixt "mapping" files. But
you can get "fancy" if you create mapping files that define
what properties to pay attention to/ignore. This lets you
use Betwixt to import / export data as/from XML with some
simple code like:
----------------------------------------------------------
Users test;
Criteria c = new Criteria();
c.add(UsersPeer.USERNAME,(Object) "admin",SqlEnum.EQUAL);
List results = UsersPeer.doSelect(c);
if ( results == null ) {
System.out.println("results was null!");
return;
}
test = (Users) results.get(0);
// Start by preparing the writer
FileWriter outputWriter = new FileWriter("test.xml");
// Betwixt just writes out the bean as a fragment
// To get well-formed xml, we need to add the prolog
outputWriter.write("<?xml version='1.0' ?>\n");
outputWriter.write(
"<!DOCTYPE dataset SYSTEM "bookstore-betwixt.dtd">");
outputWriter("<dataset> name=\"bookstore\">");
// Create a BeanWriter which writes to our output stream
BeanWriter beanWriter = new BeanWriter(outputWriter);
// Configure betwixt
beanWrite.registerMultiMapping(new InputSource(
new FileReader("bookstore.betwixt")));
beanWriter.getXMLIntrospector().getConfiguration().
setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(false);
beanWriter.enablePrettyPrint();
// Write Torque
beanWriter.write(test);
outputWriter("</dataset>");
outputWriter.close();
----------------------------------------------
Note that with the Generated MultiMapping file, the
beanWriter call will work with any type of Torque
record object in your schema.
To read in XML, just use similar code with BeanReader.
Duke CE Privacy Statement
Please be advised that this e-mail and any files transmitted with it are
confidential communication or may otherwise be privileged or confidential and
are intended solely for the individual or entity to whom they are addressed.
If you are not the intended recipient you may not rely on the contents of this
email or any attachments, and we ask that you please not read, copy or
retransmit this communication, but reply to the sender and destroy the email,
its contents, and all copies thereof immediately. Any unauthorized
dissemination, distribution or copying of this communication is strictly
prohibited.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]