2012-01-03 17 views
5

私のプロジェクト用にいくつかのXMLスキーマを生成したかったのですが、Javaクラス(またはその逆)からXMLスキーマを生成

package com.fortresswars.entity; 

import com.fortresswars.entity.properties.Armor; 
import com.jme3.scene.Spatial; 

public abstract class Object extends Thing { 
    public Armor armor; 
    public short hpMax; 
    public boolean walkable = false; 

    public short hpCurrent; 
    public boolean alive; 
    public Spatial object; 

    public GameObject() { 
     this.hpMax = hpMax; 
     this.hpCurrent = hpMax; 
    } 

    public void setAlive(boolean alive) { 
     this.alive = alive; 
    } 

    public void setHpCurrent(short hpCurrent) { 
     this.hpCurrent = hpCurrent; 
    } 

    public void addHpCurrent(short hpToAdd) { 
     this.hpCurrent += hpToAdd; 
    } 
} 

package com.fortresswars.entity; 

import com.jme3.texture.Image; 
import eu.javaspecialists.tools.apt.NoArgsConstructor; 

@NoArgsConstructor 
public abstract class Thing { 
    Image icon; 

    public Thing() { 
    } 
} 

が、私は私のプロジェクトのために、これらのクラスに基づいて、XMLスキーマを生成したかったので、他の開発者はそれに基づいてXMLファイルを作成することができます:私はこの1つのように、いくつかのJavaクラスを持っていますスキーマを生成し、私に送信する前に情報を検証することができます。しかし、私は何がベストか、クラスに基づいてXMLスキーマを生成する、またはXMLスキーマに基づいてクラスを生成することを知らない。どうぞ、そこにはどんなツールがあるのでしょうか、それらのアプローチのそれぞれを使用することの利点を教えてください。

私はJAXBというツールがあることを知っていますが、その両方のジョブ、またはそのいずれかを実行するかどうかはわかりません。

答えて

10
+0

を行うことができますありがとうございました。興味深いクラスのためだけに私のプロジェクトのためのスキーマを生成する私のnetbeans内にAntTaskを作成しました。私のソリューションには完璧です。これを完全に動作させるには約2時間を要しました。 – SHiRKiT

2

JDK binディレクトリにschemagenというツールがあり、Javaソース/クラスファイルをXMLスキーマに変換します。 documentationを参照してください。

3

はい、JAXBはアノテーションを使用して両方向に進むことができます。詳細情報といくつかのリンクについては、this questionをご覧ください。

関連する問題