Re: Class generator
Brad Cox <[email protected]>
| Newsgroups | gmane.comp.java.jdom.general |
|---|---|
| Message-ID | <CAH2etF5b-XbbPFqG0Oa5Qo85pYEkFJhzLXm47-D0AHOdQZNBMw@mail.gmail.com> |
Regarding "a "tool" that would create those classes automatically from a xsd file" If I understand your question correctly, that's what JAXB does. http://jaxb.java.net/ On Thu, Dec 22, 2011 at 5:21 AM, Alexandre Santos <[email protected]>wrote: > Hello Rolf, > > I'll do my best to the JDOM community :-) > > This example was compiled with JDOM 1.1.1 and jdk 1.3.1 on a j2se 1.2 > eclipse environment, because my Ubuntu 11.10 won't execute the java 1.2.1 > binaries (only my virtual CentOS 2...). > > About your observations: my first post was about asking if there was a > "tool" that would create those classes automatically from a xsd file (or a > xml file like EditiX). In my approach, the only "hard" work is to copy the > toXML() method to each class. But in the end, you're right :-) > > Maybe a ToDo tool for JDOM :-) > > Alexandre > > > On Thu, Dec 22, 2011 at 2:26 AM, Rolf <[email protected]> wrote: > >> Hi Alexandre. >> >> Thank you for your feedback. It's nice when people respond the way you >> have. >> >> I have some observations, and a question.... >> >> First the questions, in an earlier mail you indicated that you are using >> Java 1.2.1. Do you have this running under Java 1.2.1? Are you using JDOM >> 1.1.2? >> >> Then the observations.... >> >> Just out of interest (and I know that the 'cars2java' example may be a >> massive simplification), but have you considered simply extending the JDOM >> classes to get what you want? You may be able to eliminate a complex >> 'model'. It may create other issues, but, you may come up with a simpler >> (and perhaps better) solution. >> >> For example, you could declare the class 'Car' to be: >> >> public class Car extends org.jdom.Element { >> >> public Car(String brandname) { >> super("Car"); >> setBrand(brandname); >> } >> >> public void setBrand(String brandname) { >> Element brand = getChild("Brand"); >> if (brand == null) { >> brand = new Element("Brand"); >> // add brand at the beginning of our content.... >> addContent(0, brand); >> } >> brand.setText(brandname); >> } >> >> public String getBrand() { >> Element brand = getChild("Brand"); >> if (brand == null) { >> return ""; >> } >> return brand.getText(); >> } >> >> ...... >> >> } >> >> Once you have defined 'Car' to extend the JDOM Element, you can create >> Car instances, and add them directly to a root element: >> >> Element cars = new Element("Cars"); >> Car renault = new Car("renault"); >> renault.setColorRGB("red", "FF0000"); >> cars.addContent(renault); >> >> xmlout.output(System.out, cars); >> >> >> Just some thoughts. >> >> Rolf >> >> >> >> On 21/12/2011 6:05 PM, Alexandre Santos wrote: >> >>> Hello Rolf, >>> I've been doing some experiments with a software called EditiX that can >>> creates Java classes from a XML file. I've used JDOM on those classes to >>> accomplish what I've been trying. >>> The description of the solution I've figured out is here: >>> www.alexandre-santos.com/**Cars2Java.html<http://www.alexandre-santos.com/Cars2Java.html> >>> <http://www.alexandre-santos.**com/Cars2Java.html<http://www.alexandre-santos.com/Cars2Java.html> >>> > >>> >>> Alexandre >>> >>> >>> > > _______________________________________________ > To control your jdom-interest membership: > http://www.jdom.org/mailman/options/jdom-interest/[email protected] > -- Cell: 703-594-1883 Blog: http://bradjcox.blogspot.com Web: http://virtualschool.edu Manassas VA 20111 _______________________________________________ To control your jdom-interest membership: http://www.jdom.org/mailman/options/jdom-interest/[email protected]