Frage

Ich bin eine Klasse mit einfachen-xml Serialisierung ( http://simple.sourceforge.net/ aber), wenn ich versuche @Element auf einem Point-Objekt zu verwenden, ich einen Fehler, wie kann ich diesen Punkt Objekt umwandeln?

War es hilfreich?

Lösung

Sie können eine erstellen verwandeln wie so

public class PointTransform implements Transform<Point> {

  public Point read(String value) {
     return fromString(value);
  }

  public String write(Point value)  {
     return toString(value);
  }

  // etc ...
}

Dann passieren in einem Matcher an den Persister Konstruktor so, dass es Ihnen die Klasse gegeben Trans auflösen kann. Transformationen werden nur für Primitiven verwendet, wie Attribut oder Textwerte. Sie sollten nicht verwendet werden, XML zu komponieren, da es nur entkommen wird erhalten, wenn zu dem resultierenden Dokument geschrieben. Beste Anmerkungen zu verwenden, wie so.

@Root
public class Point {

  @Attribute
  private int x;

  @Attribute
  private int y;

  public int getX() {
     return x;
  }

  public int getY() {
     return y;
  }
}

Andere Tipps

Sie können einen Converter verwenden, um Objekte serialisiert werden, die volle XML-Elemente müssen (und nicht nur eine Textdarstellung mit). Siehe auch:

http://simple.sourceforge.net/download/ Strom / doc / tutorial / tutorial.php # Wandler

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top