/ / Creazione di diversi operatori in JaxB? - java, xml, jaxb, funzione filtro

Creare diversi operatori in JaxB? - java, xml, jaxb, filterfunction

Sto usando gli schemi OGC di https://github.com/highsource/ogc-schemas.

Sto guardando la struttura degli oggetti senza marshalling dalla deserializzazione di XML all'oggetto JaxB.

Sto cercando di costruire un oggetto personalizzato per serializzare in XML usando JaxB.

Lo schema di filtro è visibile http://schemas.opengis.net/filter/2.0/filter.xsd

Sto smascherando l'oggetto in questo modo:

JAXBElement<FilterType> filter = (JAXBElement<FilterType>) unmarshal.unmarshal(new File("Filter01.xml"));

Ora guardo gli oggetti interni e vedoche ho diversi tipi di filtro. Voglio creare un tipo di filtro che sia un operatore binario logico e inizializzarlo con i dati corretti. La parte di inizializzazione di questo è ciò che mi confonde.

IE:

BinaryLogicOpType blop = new BinaryLogicOpType();

risposte:

2 per risposta № 1

Qualcosa in questo modo:

ObjectFactory objectFactory = new ObjectFactory()
BinaryLogicOpType _or = new BinaryLogicOpType();
JAXBElement<BinaryLogicOpType> root = objectFactory.createOr(_or);

BinaryComparisonOpType weightIsLessThan100 = new BinaryComparisonOpType();
_or.getOps()
.add(objectFactory.createPropertyIsLessThan(weightIsLessThan100));

JAXBElement<String> weightValueReference =
objectFactory.createValueReference("weight");
LiteralType _100 = new LiteralType();
_100.getContent().add(100);
JAXBElement<LiteralType> _100Literal = objectFactory.createLiteral(_100);

weightIsLessThan100.getExpression().add(weightValueReference);
weightIsLessThan100.getExpression().add(_100Literal);

E così via.