Klasse XmlUnmarshallingUtil

java.lang.Object
de.svws_nrw.davapi.util.XmlUnmarshallingUtil

public final class XmlUnmarshallingUtil extends Object
Utility-Klasse für die Deserialisierung von XML in Java-Objekte mittels Jackson. Die enthaltenen Methoden modifizieren das Verhalten der Jackson ObjectMapper, um die JAXB-annotierten Dav-Objekte (Prop) besser behandeln zu können.
  • Methodendetails

    • unmarshal

      public static <T> T unmarshal(InputStream inputstream, Class<T> typeClass) throws IOException
      Deserialisiert einen InputStream mit XML-Daten in eine Java-Klasse eines angegebenen Typs. Fehlende XML-Mappings oder fehlerhaftes XML führen in dieser Methode zu einer IOException.
      Typparameter:
      T - Generischer Typ
      Parameter:
      inputstream - InputStream mit XML-Daten
      typeClass - Java-Klasse, die das Ziel der Deserialisierung sein soll (z.B. Profind.class)
      Gibt zurück:
      Java-Objekt der angegebenen Typ-Klasse
      Löst aus:
      IOException - Fehlende XML-Mappings oder fehlerhaftes XML führen in dieser Methode zu einer IOException
    • tryUnmarshal

      public static <T> Optional<T> tryUnmarshal(String input, Class<T> typeClass)
      Deserialisiert einen String mit XML-Daten in eine Java-Klasse eines angegebenen Typs. Fehlende XML-Mappings oder fehlerhaftes XML führen in dieser Methode nicht zu einer IOException, sondern zur Rückgabe von Optional.empty(). Diese Methode kann dazu verwendet werden zu prüfen, ob ein String in die angegebene Typklasse deserialisiert werden kann.
      Typparameter:
      T - Generischer Typ
      Parameter:
      input - String mit XML-Daten
      typeClass - Java-Klasse, die das Ziel der Deserialisierung sein soll (z.B. Profind.class)
      Gibt zurück:
      Optional der angegebenen Typ-Klasse. Falls die Deserialisierung nicht erfolgreich war, wird das Optional.empty() zurückgegeben.
    • unmarshal

      public static <T> T unmarshal(String input, Class<T> typeClass) throws IOException
      Deserialisiert einen String mit XML-Daten in eine Java-Klasse eines angegebenen Typs. Fehlende XML-Mappings oder fehlerhaftes XML führen in dieser Methode zu einer IOException.
      Typparameter:
      T - Generischer Typ
      Parameter:
      input - String mit XML-Daten
      typeClass - Java-Klasse, die das Ziel der Deserialisierung sein soll (z.B. Profind.class)
      Gibt zurück:
      Java-Objekt der angegebenen Typ-Klasse
      Löst aus:
      IOException - Fehlende XML-Mappings oder fehlerhaftes XML führen in dieser Methode zu einer IOException