Package de.svws_nrw.data
Klasse JSONMapper
java.lang.Object
de.svws_nrw.data.JSONMapper
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
Modifizierer und TypFeldBeschreibungstatic final com.fasterxml.jackson.databind.ObjectMapper
Der Jackson2-Objekt-Mapper für das Konvertierenstatic final DateTimeFormatter
Der Formatter für TimeStamp-Strings -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic 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.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.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.static LocalDateTime
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
fromBoolean
(Boolean data) Konvertiert den Java-Boolean-Wert in eineResponse
mit dem JSON-String.static jakarta.ws.rs.core.Response
fromDouble
(Double data, boolean rfc8259compliance) Konvertiert den Java-Long-Wert in eineResponse
mit dem JSON-String.static jakarta.ws.rs.core.Response
fromInteger
(Integer data) Konvertiert den Java-Long-Wert in eineResponse
mit dem JSON-String.static jakarta.ws.rs.core.Response
Konvertiert den Java-Long-Wert in eineResponse
mit dem JSON-String.static jakarta.ws.rs.core.Response
fromString
(String data) Konvertiert den Java-String in eineResponse
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
gzipFileResponseFromObject
(Object obj, String filename) Konvertiert das Object in eineResponse
mit einer GZIP-komprimierten JSON-Datei.static Boolean
toBoolean
(InputStream in) Wandelt die JSON-Daten aus demInputStream
in einen einfache Java-Boolean um.static Double
toDouble
(InputStream in, boolean rfc8259compliance) Wandelt die JSON-Daten aus demInputStream
in einen einfache Java-Double um.static Integer
toInteger
(InputStream in) Wandelt die JSON-Daten aus demInputStream
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.Wandelt die JSON-Daten aus demInputStream
in eine Liste von Long-Werten um, sofern dies möglich ist.static Long
toLong
(InputStream in) Wandelt die JSON-Daten aus demInputStream
in einen einfache Java-Long um.toMap
(InputStream in) Wandelt die JSON-Daten aus demInputStream
in eine Map von Key-Value-Paaren umWandelt die JSON-Daten aus demInputStream
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 umstatic String
toString
(InputStream in) Wandelt die JSON-Daten aus demInputStream
in einen einfache Java-String um.
-
Felddetails
-
mapper
public static final com.fasterxml.jackson.databind.ObjectMapper mapperDer Jackson2-Objekt-Mapper für das Konvertieren -
tsFormatter
Der Formatter für TimeStamp-Strings
-
-
Methodendetails
-
toString
Wandelt die JSON-Daten aus demInputStream
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
Wandelt die JSON-Daten aus demInputStream
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
Wandelt die JSON-Daten aus demInputStream
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 demInputStream
in einen einfache Java-Double um.- Parameter:
in
- der Input-Stream mit dem JSON-Inputrfc8259compliance
- gibt an, ob nur Zahlwerte laut RFC8259 zugelassen sind oder alle Java-Double-Werte lautDouble.valueOf(String)
- Gibt zurück:
- der Java-Double
- Löst aus:
ApiOperationException
- im Fehlerfall
-
toInteger
Wandelt die JSON-Daten aus demInputStream
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
Wandelt die JSON-Daten aus demInputStream
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
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
Wandelt die JSON-Daten aus demInputStream
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
Wandelt die JSON-Daten aus demInputStream
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
Konvertiert das übergebene Objekt in einen Double-Wert, sofern es sich um ein Number-Objekt handelt.- Parameter:
obj
- das zu konvertierende Objektnullable
- 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 Objektnullable
- gibt an, ob das Ergebnis auch null sein darf oder nichtattrName
- der Name des Attributes oder null- Gibt zurück:
- das konvertierte Long-Objekt
- Löst aus:
ApiOperationException
- im Fehlerfall
-
convertToLong
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 Objektnullable
- 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
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 Objektnullable
- 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 Objektnullable
- gibt an, ob das Ergebnis auch null sein darf oder nichtlower
- 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
Konvertiert das übergebene Objekt in einen Boolean-Wert.- Parameter:
obj
- das zu konvertierende Objektnullable
- 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 Objektnullable
- 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 Objektnullable
- gibt an, ob das Ergebnis auch null sein darf oder nichtallowEmpty
- gibt an, ob auch leere Strings erlaubt sind oder nichtmaxLength
- die maximal erlaubte Länge des Strings, null falls keine Begrenzung vorliegtattrName
- 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 Objektnullable
- gibt an, ob das Ergebnis auch null sein darf oder nichtallowEmpty
- gibt an, ob auch leere Strings erlaubt sind oder nichtmaxLength
- 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 Objektnullable
- gibt an, ob Elemente auch null sein dürfen oder nichtsize
- 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 Objektnullable
- gibt an, ob Elemente auch null sein dürfen oder nichtsize
- 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 ListenObjektnullable
- 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 ListenObjektnullable
- 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-TypslistObj
- das zu konvertierende ListenObjektnullable
- falls null für das Listen-Objekt gültig ist- Gibt zurück:
- das konvertierte Listen-Objekt
- Löst aus:
ApiOperationException
- im Fehlerfall
-
fromString
Konvertiert den Java-String in eineResponse
mit dem JSON-String.- Parameter:
data
- der zu konvertierende String- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
fromLong
Konvertiert den Java-Long-Wert in eineResponse
mit dem JSON-String.- Parameter:
data
- der zu konvertierende Long-Wert- Gibt zurück:
- die Response
-
fromBoolean
Konvertiert den Java-Boolean-Wert in eineResponse
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 eineResponse
mit dem JSON-String.- Parameter:
data
- der zu konvertierende Double-Wertrfc8259compliance
- gibt an, ob nur Zahlwerte laut RFC8259 zugelassen sind oder alle Java-Double-Werte lautDouble.valueOf(String)
- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
fromInteger
Konvertiert den Java-Long-Wert in eineResponse
mit dem JSON-String.- Parameter:
data
- der zu konvertierende Integer-Wert- Gibt zurück:
- die Response
-
gzipByteArrayFromObject
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 eineResponse
mit einer GZIP-komprimierten JSON-Datei.- Parameter:
obj
- das nach JSON zu serialisierende Objektfilename
- der Name, der JSON-Datei ohne ".json.gz"-Endung- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
toObjectGZip
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-DatenvalueType
- 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.
-