> 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]

Reply via email to