Klasse JSONMapper

java.lang.Object
de.svws_nrw.data.JSONMapper

public final class JSONMapper extends Object
Diese Klasse enthält Routinen für das Mapping von einfachen Datentypen in das JSON-Format und umgekehrt. Diese Routinen dienen der RFC 8259-Kompatibiltät, welche von der RestEasy-Implementierung in der Standard-Konfiguration nicht korrekt umgesetzt wird.
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    static final com.fasterxml.jackson.databind.ObjectMapper
    Der Jackson2-Objekt-Mapper für das Konvertieren
    static final DateTimeFormatter
    Der Formatter für TimeStamp-Strings
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    static Boolean
    convertToBoolean(Object obj, boolean nullable)
    Konvertiert das übergebene Objekt in einen Boolean-Wert.
    static Boolean[]
    convertToBooleanArray(Object obj, boolean nullable, Integer size)
    Konvertiert das übergebene Objekt in einen boolean-Array, sofern es sich um ein boolean-Array handelt.
    static Double
    convertToDouble(Object obj, boolean nullable)
    Konvertiert das übergebene Objekt in einen Double-Wert, sofern es sich um ein Number-Objekt handelt.
    static Integer
    convertToInteger(Object obj, boolean nullable)
    Konvertiert das übergebene Objekt in einen Integer-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
    static Integer
    convertToIntegerInRange(Object obj, boolean nullable, int lower, Integer upper)
    Konvertiert das übergebene Objekt in einen Integer-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
    static <T> List<T>
    convertToList(Class<T> dtoClass, Object listObj, boolean nullable)
    Konvertiert das übergebene Objekt in eine Liste von DTOs, sofern es sich beim Inhalt um ein ensprechendes DTO-Objekt handelt.
    static List<Integer>
    convertToListOfInteger(Object listObj, boolean nullable)
    Konvertiert das übergebene Objekt in eine Liste von Integer-Werten, sofern es sich beim Inhalt um ein Number-Objekt handelt, welches keinen long, float oder double-Wert repräsentiert.
    static List<Long>
    convertToListOfLong(Object listObj, boolean nullable)
    Konvertiert das übergebene Objekt in eine Liste von Long-Werten, sofern es sich beim Inhalt um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
    convertToLocalDateTime(Object obj, boolean nullable)
    Konvertiert das übergebene Objekt in ein LocalDateTime, sofern es sich um ein LocalDateTime-Objekt handelt.
    static Long
    convertToLong(Object obj, boolean nullable)
    Konvertiert das übergebene Objekt in einen Long-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
    static Long
    convertToLong(Object obj, boolean nullable, String attrName)
    Konvertiert das übergebene Objekt in einen Long-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
    static String
    convertToString(Object obj, boolean nullable, boolean allowEmpty, Integer maxLength)
    Konvertiert das übergebene Objekt in einen String, sofern es sich um ein String-Objekt handelt.
    static String
    convertToString(Object obj, boolean nullable, boolean allowEmpty, Integer maxLength, String attrName)
    Konvertiert das übergebene Objekt in einen String, sofern es sich um ein String-Objekt handelt.
    static String[]
    convertToStringArray(Object obj, boolean nullable, Integer size)
    Konvertiert das übergebene Objekt in einen String-Array, sofern es sich um ein String-Array handelt.
    static jakarta.ws.rs.core.Response
    Konvertiert den Java-Boolean-Wert in eine Response mit dem JSON-String.
    static jakarta.ws.rs.core.Response
    fromDouble(Double data, boolean rfc8259compliance)
    Konvertiert den Java-Long-Wert in eine Response mit dem JSON-String.
    static jakarta.ws.rs.core.Response
    Konvertiert den Java-Long-Wert in eine Response mit dem JSON-String.
    static jakarta.ws.rs.core.Response
    fromLong(Long data)
    Konvertiert den Java-Long-Wert in eine Response mit dem JSON-String.
    static jakarta.ws.rs.core.Response
    Konvertiert den Java-String in eine Response mit dem JSON-String.
    static byte[]
    Konvertiert das Object in ein byte-Array mit dem GZIP-komprimierten JSON-String.
    static jakarta.ws.rs.core.Response
    Konvertiert das Object in eine Response mit einer GZIP-komprimierten JSON-Datei.
    static Boolean
    Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Boolean um.
    static Double
    toDouble(InputStream in, boolean rfc8259compliance)
    Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Double um.
    static Integer
    Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Integer um.
    static com.fasterxml.jackson.databind.JsonNode
    Liest die Daten aus dem InputStream ein und gibt das JSON als String zurück.
    static String
    Liest die Daten aus dem InputStream ein und gibt das JSON als String zurück.
    static List<Long>
    Wandelt die JSON-Daten aus dem InputStream in eine Liste von Long-Werten um, sofern dies möglich ist.
    static Long
    Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Long um.
    static Map<String,Object>
    Wandelt die JSON-Daten aus dem InputStream in eine Map von Key-Value-Paaren um
    Wandelt die JSON-Daten aus dem InputStream in eine Liste von Maps von Key-Value-Paaren um.
    static <T> T
    toObjectGZip(byte[] encoded, Class<T> valueType)
    Wandelt die JSON-Daten, welche GZip-komprimiert sein müssen, in das Object vom Typ T um
    static String
    Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-String um.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Felddetails

    • mapper

      public static final com.fasterxml.jackson.databind.ObjectMapper mapper
      Der Jackson2-Objekt-Mapper für das Konvertieren
    • tsFormatter

      public static final DateTimeFormatter tsFormatter
      Der Formatter für TimeStamp-Strings
  • Methodendetails

    • toString

      public static String toString(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-String um.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      der Java-String
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toLong

      public static Long toLong(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Long um.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      der Java-Long
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toBoolean

      public static Boolean toBoolean(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Boolean um.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      der Java-Boolean
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toDouble

      public static Double toDouble(InputStream in, boolean rfc8259compliance) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Double um.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      rfc8259compliance - gibt an, ob nur Zahlwerte laut RFC8259 zugelassen sind oder alle Java-Double-Werte laut Double.valueOf(String)
      Gibt zurück:
      der Java-Double
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toInteger

      public static Integer toInteger(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in einen einfache Java-Integer um.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      der Java-Integer
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toMap

      public static Map<String,Object> toMap(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in eine Map von Key-Value-Paaren um
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      die Map
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toJsonString

      public static String toJsonString(InputStream in)
      Liest die Daten aus dem InputStream ein und gibt das JSON als String zurück.
      Parameter:
      in - der Input-Stream
      Gibt zurück:
      der String mit dem JSON
    • toJsonNode

      public static com.fasterxml.jackson.databind.JsonNode toJsonNode(InputStream in) throws ApiOperationException
      Liest die Daten aus dem InputStream ein und gibt das JSON als String zurück.
      Parameter:
      in - der Input-Stream
      Gibt zurück:
      der String mit dem JSON
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toMultipleMaps

      public static List<Map<String,Object>> toMultipleMaps(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in eine Liste von Maps von Key-Value-Paaren um. Dabei müssen die JSON-Daten ein Array sein.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      die Liste von Maps
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toListOfLong

      public static List<Long> toListOfLong(InputStream in) throws ApiOperationException
      Wandelt die JSON-Daten aus dem InputStream in eine Liste von Long-Werten um, sofern dies möglich ist. Ist dies nicht möglich, so wird eine entsprechende ApiOperationException erzeugt.
      Parameter:
      in - der Input-Stream mit dem JSON-Input
      Gibt zurück:
      die Liste von Long-Werten
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToDouble

      public static Double convertToDouble(Object obj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen Double-Wert, sofern es sich um ein Number-Objekt handelt.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      Gibt zurück:
      das konvertierte Double-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToLong

      public static Long convertToLong(Object obj, boolean nullable, String attrName) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen Long-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      attrName - der Name des Attributes oder null
      Gibt zurück:
      das konvertierte Long-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToLong

      public static Long convertToLong(Object obj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen Long-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      Gibt zurück:
      das konvertierte Long-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToInteger

      public static Integer convertToInteger(Object obj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen Integer-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      Gibt zurück:
      das konvertierte Integer-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToIntegerInRange

      public static Integer convertToIntegerInRange(Object obj, boolean nullable, int lower, Integer upper) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen Integer-Wert, sofern es sich um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert. Dabei wird geprüft, ob der wert innerhalb des übergebenen Intervalls [lower, upper[ liegt
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      lower - die untere Intervallgrenze (einschließlich)
      upper - die obere Intervallgrenze (außschließlich) oder null, wenn es keine obere Grenze gibt
      Gibt zurück:
      das konvertierte Integer-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToBoolean

      public static Boolean convertToBoolean(Object obj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen Boolean-Wert.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      Gibt zurück:
      das konvertierte Boolean-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToLocalDateTime

      public static LocalDateTime convertToLocalDateTime(Object obj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in ein LocalDateTime, sofern es sich um ein LocalDateTime-Objekt handelt.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      Gibt zurück:
      das konvertierte LocalDateTime-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToString

      public static String convertToString(Object obj, boolean nullable, boolean allowEmpty, Integer maxLength, String attrName) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen String, sofern es sich um ein String-Objekt handelt.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      allowEmpty - gibt an, ob auch leere Strings erlaubt sind oder nicht
      maxLength - die maximal erlaubte Länge des Strings, null falls keine Begrenzung vorliegt
      attrName - der Name des Attributs oder null
      Gibt zurück:
      das konvertierte Long-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToString

      public static String convertToString(Object obj, boolean nullable, boolean allowEmpty, Integer maxLength) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen String, sofern es sich um ein String-Objekt handelt.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob das Ergebnis auch null sein darf oder nicht
      allowEmpty - gibt an, ob auch leere Strings erlaubt sind oder nicht
      maxLength - die maximal erlaubte Länge des Strings, null falls keine Begrenzung vorliegt
      Gibt zurück:
      das konvertierte Long-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToBooleanArray

      public static Boolean[] convertToBooleanArray(Object obj, boolean nullable, Integer size) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen boolean-Array, sofern es sich um ein boolean-Array handelt.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob Elemente auch null sein dürfen oder nicht
      size - die verlangte Größe des Arrays
      Gibt zurück:
      das konvertierte boolean-Array
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToStringArray

      public static String[] convertToStringArray(Object obj, boolean nullable, Integer size) throws ApiOperationException
      Konvertiert das übergebene Objekt in einen String-Array, sofern es sich um ein String-Array handelt.
      Parameter:
      obj - das zu konvertierende Objekt
      nullable - gibt an, ob Elemente auch null sein dürfen oder nicht
      size - die verlangte Größe des Arrays
      Gibt zurück:
      das konvertierte String-Array
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToListOfLong

      public static List<Long> convertToListOfLong(Object listObj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in eine Liste von Long-Werten, sofern es sich beim Inhalt um ein Number-Objekt handelt, welches keinen float oder double-Wert repräsentiert.
      Parameter:
      listObj - das zu konvertierende ListenObjekt
      nullable - falls null für das Listen-Objekt gültig ist
      Gibt zurück:
      das konvertierte Listen-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToListOfInteger

      public static List<Integer> convertToListOfInteger(Object listObj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in eine Liste von Integer-Werten, sofern es sich beim Inhalt um ein Number-Objekt handelt, welches keinen long, float oder double-Wert repräsentiert.
      Parameter:
      listObj - das zu konvertierende ListenObjekt
      nullable - falls null für das Listen-Objekt gültig ist
      Gibt zurück:
      das konvertierte Listen-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • convertToList

      public static <T> List<T> convertToList(Class<T> dtoClass, Object listObj, boolean nullable) throws ApiOperationException
      Konvertiert das übergebene Objekt in eine Liste von DTOs, sofern es sich beim Inhalt um ein ensprechendes DTO-Objekt handelt.
      Typparameter:
      T - der DTO-Typ
      Parameter:
      dtoClass - das Klassen-Objekt des DTO-Typs
      listObj - das zu konvertierende ListenObjekt
      nullable - falls null für das Listen-Objekt gültig ist
      Gibt zurück:
      das konvertierte Listen-Objekt
      Löst aus:
      ApiOperationException - im Fehlerfall
    • fromString

      public static jakarta.ws.rs.core.Response fromString(String data) throws ApiOperationException
      Konvertiert den Java-String in eine Response mit dem JSON-String.
      Parameter:
      data - der zu konvertierende String
      Gibt zurück:
      die Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • fromLong

      public static jakarta.ws.rs.core.Response fromLong(Long data)
      Konvertiert den Java-Long-Wert in eine Response mit dem JSON-String.
      Parameter:
      data - der zu konvertierende Long-Wert
      Gibt zurück:
      die Response
    • fromBoolean

      public static jakarta.ws.rs.core.Response fromBoolean(Boolean data)
      Konvertiert den Java-Boolean-Wert in eine Response mit dem JSON-String.
      Parameter:
      data - der zu konvertierende Boolean-Wert
      Gibt zurück:
      die Response
    • fromDouble

      public static jakarta.ws.rs.core.Response fromDouble(Double data, boolean rfc8259compliance) throws ApiOperationException
      Konvertiert den Java-Long-Wert in eine Response mit dem JSON-String.
      Parameter:
      data - der zu konvertierende Double-Wert
      rfc8259compliance - gibt an, ob nur Zahlwerte laut RFC8259 zugelassen sind oder alle Java-Double-Werte laut Double.valueOf(String)
      Gibt zurück:
      die Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • fromInteger

      public static jakarta.ws.rs.core.Response fromInteger(Integer data)
      Konvertiert den Java-Long-Wert in eine Response mit dem JSON-String.
      Parameter:
      data - der zu konvertierende Integer-Wert
      Gibt zurück:
      die Response
    • gzipByteArrayFromObject

      public static byte[] gzipByteArrayFromObject(Object obj) throws CompressionException
      Konvertiert das Object in ein byte-Array mit dem GZIP-komprimierten JSON-String.
      Parameter:
      obj - das nach JSON zu serialisierende Objekt
      Gibt zurück:
      die Response
      Löst aus:
      CompressionException - falls ein Fehler beim Komprimieren auftritt
    • gzipFileResponseFromObject

      public static jakarta.ws.rs.core.Response gzipFileResponseFromObject(Object obj, String filename) throws ApiOperationException
      Konvertiert das Object in eine Response mit einer GZIP-komprimierten JSON-Datei.
      Parameter:
      obj - das nach JSON zu serialisierende Objekt
      filename - der Name, der JSON-Datei ohne ".json.gz"-Endung
      Gibt zurück:
      die Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • toObjectGZip

      public static <T> T toObjectGZip(byte[] encoded, Class<T> valueType) throws CompressionException
      Wandelt die JSON-Daten, welche GZip-komprimiert sein müssen, in das Object vom Typ T um
      Typparameter:
      T - der Typ des Objekts
      Parameter:
      encoded - die komprimierten JSON-Daten
      valueType - die Klasse des Typs T
      Gibt zurück:
      das Object vom Typ T
      Löst aus:
      CompressionException - falls beim Dekomprimieren der Daten ein Fehler auftritt.