Genera schema XML dalla classe Java (o il contrario)


Volevo generare alcuni schemi XML per il mio progetto. Ho alcune classi Java, come questa:

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() {
    }
}

Volevo generare uno schema XML basato su quelle classi per il mio progetto, così gli altri sviluppatori possono creare un file XML basato su quello schema generato e possono convalidare le informazioni prima di inviarmi. Ma non so cosa sia meglio, generare uno schema XML basato su una classe o generare una classe basata su uno schema XML. Per favore, potrebbe indicare cosa strumenti c'è là fuori per farlo, e i vantaggi di utilizzare ciascuno di questi approcci?

So che esiste uno strumento chiamato JAXB, ma non lo so se fa entrambi quei lavori, o nessuno di essi.

Author: skaffman, 2012-01-04

3 answers

C'è uno strumento chiamato schemagen all'interno della directory JDK bin, che trasforma il file sorgente/classe java in uno schema XML. Vedere la documentazione .

 4
Author: skaffman, 2012-01-03 23:26:26

Sì, JAXB può andare in entrambe le direzioni (usando le annotazioni). Controlla questa domanda per maggiori informazioni e alcuni link.

 3
Author: sarumont, 2017-05-23 12:24:31