Re: Class generator

Alexandre Santos <[email protected]>
Newsgroups gmane.comp.java.jdom.general
Message-ID <CAC0pG5aqaX60iaDyUmt1z95eVP40e7G9fQQrbTVmHOFLW7a=1A@mail.gmail.com>
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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.