Package de.svws_nrw.data
Klasse DataManagerRevised<ID,DatabaseDTO,CoreDTO>
java.lang.Object
de.svws_nrw.data.DataManagerRevised<ID,DatabaseDTO,CoreDTO>
- Typparameter:
ID
- die Typ, welcher als ID für die Informationen verwendet wird.DatabaseDTO
- der Typ des zugrundeliegenden Datenbank-DTOsCoreDTO
- der Typ des zugrundeliegenden Core-DTOs
- Bekannte direkte Unterklassen:
DataGostKlausurenKursklausur
,DataGostKlausurenRaum
,DataGostKlausurenRaumstunde
,DataGostKlausurenSchuelerklausur
,DataGostKlausurenSchuelerklausurraumstunde
,DataGostKlausurenSchuelerklausurTermin
,DataGostKlausurenTermin
,DataGostKlausurenVorgabe
,DataGostSchuelerLaufbahnplanung
,DataKatalogEinwilligungsarten
,DataKlassendaten
,DataSchuelerKAoADaten
,DataSchuelerLeistungsdaten
,DataSchuelerLernabschnittsdaten
,DataSchuelerSprachbelegung
,DataSchuelerSprachpruefung
,DataSchuelerVermerkartenZusammenfassung
,DataSchuelerVermerke
,DataStundenplanKalenderwochenzuordnung
,DataStundenplanPausenzeiten
,DataVermerkarten
,DataWiedervorlage
Diese abstrakte Klasse ist die Grundlage für das einheitliche Aggregieren von
Informationen für die OpenAPI und das einheitliche Bereitstellen von
Funktionalitäten für GET-, CREATE-, PATCH- und DELETE-Operationen.
-
Feldübersicht
Modifizierer und TypFeldBeschreibungprotected final DBEntityManager
Die Datenbank-Verbindung zum Aggregieren der Informationen aus der DB und zum Schreiben der Informationen bzw. -
Konstruktorübersicht
ModifiziererKonstruktorBeschreibungprotected
Erstellt einen neuen Datenmanager mit der angegebenen Verbindung -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungFügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.jakarta.ws.rs.core.Response
Fügt ein neues DTO in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.protected CoreDTO
Fügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.jakarta.ws.rs.core.Response
addFromMapAsResponse
(Map<String, Object> initAttributes) Fügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.Fügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.Fügt mehrere neue DTOs in die Datenbank hinzu, indem in der Datenbank jeweils eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.jakarta.ws.rs.core.Response
Fügt mehrere neue DTOs in die Datenbank hinzu, indem in der Datenbank jeweils eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.protected void
applyPatchMappings
(DatabaseDTO dto, Map<String, Object> patchMappings, Set<String> attributesToPatch, Set<String> attributesToSkip, boolean isCreation) Wendet die angegebenen Mappings für die Attribute des Core-DTOs (übergebene Map) auf das übergebene Datenbank-DTO an.void
checkBeforeCreation
(ID newID, Map<String, Object> initAttributes) Methode prüft vor dem Erstellen eines neuen Datenbank-DTOs, ob alle Vorbedingungen zum Erstellen erfüllt sind.void
checkBeforeDeletion
(List<DatabaseDTO> dtos) Methode prüft vor dem Löschen, ob alle Vorbedingungen zum Löschen erfüllt sind.void
checkBeforePatch
(DatabaseDTO dto, Map<String, Object> patchAttributes) Methode prüft vor dem Patchen eines Datenbank-DTOs, ob alle Vorbedingungen zum Patch erfüllt sind.void
Prüft, ob der Benutzer bei dem angegeben Abiturjahrgang als Beratungslehrer funktionsbezogene Rechte hat oder nicht.void
Prüft, ob der Benutzer für die angegebene Klasse funktionsbezogene Rechte hat oder nicht.protected Long
createNextLongID
(Long lastID) Erzeugt die nächste default ID vom TypLong
für ein neues Datenbank-DTO.jakarta.ws.rs.core.Response
deleteAsResponse
(ID id) Entfernt das Datenbank-DTO mit der angegebenen ID und gibt das zugehörige Core-DTO in der Response zurück.protected void
Methode löscht das übergebene Datenbank-DTO aus der Datenbank.jakarta.ws.rs.core.Response
deleteMultipleAsResponse
(List<ID> ids) Entfernt die Datenbank-DTOs mit den angegebenen IDs und gibt die zugehörigen Core-DTOs in der Response zurück.getAll()
Ermittelt eine Liste mit allen Core-DTOs aus der DB.jakarta.ws.rs.core.Response
Ermittelt eine Liste mit allen Core-DTOs aus der DB.Ermittelt das Core-DTO mit der angegebenen ID.jakarta.ws.rs.core.Response
getByIdAsResponse
(ID id) Ermittelt das Core-DTO mit der angegebenen ID.protected ID
Erzeugt bzw. ermittelt die custom ID für ein neues oder zu veränderndes Datenbank-DTO anhand der übergebenen Attribute.
Wichtig: Wird eine neue ID benötigt, die abweichend von der Default Implementierung in der MethodecreateNextLongID(Long)
ist oder nicht vom TypLong
ist, muss diese Methode überschrieben werden.getList()
Ermittelt eine Liste mit Core-DTOs aus der DB.jakarta.ws.rs.core.Response
Ermittelt eine Liste mit Core-DTOs aus der DB.protected ID
Bestimmt die nächste ID für ein neues Datenbank-DTO.boolean
hatBenutzerNurFunktionsbezogeneKompetenz
(@NotNull BenutzerKompetenz kompetenzFunktionsbezogen, @NotNull Set<BenutzerKompetenz> kompetenzenUebergreifend) Prüft, ob der Benutzer ausschließlich eine funktionsbezogene Kompetenz besitzt und nicht noch zusätzlich eine übergreifende Kompetenz.protected void
Initialisiert das Datenbank-DTO mit der übergebenen ID.
Wichtig: Diese Methode muss überschrieben werden, damit die Add-Methoden ausführbar sind.protected abstract CoreDTO
map
(DatabaseDTO dto) Wandelt das Datenbank-DTO in das Core-DTO um, soweit die Daten in dem Datenbank-DTO enthalten sind.protected void
mapAttribute
(DatabaseDTO dto, String name, Object value, Map<String, Object> map) Führt das Mapping eines Attributes des Core-DTOs auf das zugehörige Datenbank-DTO durch.
Wichtig: Diese Methode muss überschrieben werden, damit die Add-Methoden und Patch-Methoden ausführbar sind.mapList
(Collection<DatabaseDTO> dtos) Wandelt die Datenbank-DTOs in der übergebenen Collection in Core-DTOs und gibt die Liste dieser umgewandelten DTOs zurück.protected DatabaseDTO
Erstellt und initialisiert ein neues Datenbank-DTO.Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenenInputStream
an.jakarta.ws.rs.core.Response
patchAsResponse
(ID id, InputStream is) Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenenInputStream
an.patchFromStream
(ID id, InputStream is) Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenenInputStream
an.jakarta.ws.rs.core.Response
Passt die Informationen der Datenbank-DTOs mithilfe des JSON-Patches aus dem übergebenenInputStream
an.protected void
Methode persistiert das übergebene Datenbank-DTO in der Datenbank.protected void
setAttributesDelayedOnCreation
(String... attrs) Setzt die Attribute, wo das Mapping beim Hinzufügen in einem Zweiten Schritt passiert, nachdem das Datenbank-DTO ein erstes mal persistiert wurde.protected void
setAttributesNotPatchable
(String... attrs) Setzt die Attribute, wo das Patchen explizit verboten ist und nur beim Erstellen von DTOs ein Mapping erlaubt ist.protected void
setAttributesRequiredOnCreation
(String... attrs) Setzt die Attribute, welche neben der ID explizit notwendig sind und beim Erstellen eines DTOs gemappt werden müssen.
-
Felddetails
-
conn
Die Datenbank-Verbindung zum Aggregieren der Informationen aus der DB und zum Schreiben der Informationen bzw. Teilinformationen
-
-
Konstruktordetails
-
DataManagerRevised
Erstellt einen neuen Datenmanager mit der angegebenen Verbindung- Parameter:
conn
- die Datenbank-Verbindung, welche vom Daten-Manager benutzt werden soll
-
-
Methodendetails
-
setAttributesRequiredOnCreation
Setzt die Attribute, welche neben der ID explizit notwendig sind und beim Erstellen eines DTOs gemappt werden müssen.- Parameter:
attrs
- die Attribute
-
setAttributesNotPatchable
Setzt die Attribute, wo das Patchen explizit verboten ist und nur beim Erstellen von DTOs ein Mapping erlaubt ist.- Parameter:
attrs
- die Attribute
-
setAttributesDelayedOnCreation
Setzt die Attribute, wo das Mapping beim Hinzufügen in einem Zweiten Schritt passiert, nachdem das Datenbank-DTO ein erstes mal persistiert wurde. Dies dient z.B. dazu, dass das Patchen eines Attributes ggf. auch Einfluss auf andere Datenbank-Tabellen hat, wo eine Fremdschlüsselbeziehung besteht.- Parameter:
attrs
- die Attribute
-
getID
Erzeugt bzw. ermittelt die custom ID für ein neues oder zu veränderndes Datenbank-DTO anhand der übergebenen Attribute.
Wichtig: Wird eine neue ID benötigt, die abweichend von der Default Implementierung in der MethodecreateNextLongID(Long)
ist oder nicht vom TypLong
ist, muss diese Methode überschrieben werden. Ebenfalls muss die Methode implementiert werden, wenn die Patch-OperationpatchMultipleAsResponse(InputStream)
genutzt wird.- Parameter:
attributes
- die Map mit initialen oder zu patchenden Attributen für ein DTO- Gibt zurück:
- die custom ID
- Löst aus:
ApiOperationException
- im Fehlerfall
-
newDTO
protected DatabaseDTO newDTO(ID newID, Map<String, Object> initAttributes) throws ApiOperationExceptionErstellt und initialisiert ein neues Datenbank-DTO.- Parameter:
newID
- die neue ID für das DTOinitAttributes
- die Attribute zur Initialisierung- Gibt zurück:
- das neue DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
initDTO
protected void initDTO(DatabaseDTO dto, ID id, Map<String, Object> initAttributes) throws ApiOperationExceptionInitialisiert das Datenbank-DTO mit der übergebenen ID.
Wichtig: Diese Methode muss überschrieben werden, damit die Add-Methoden ausführbar sind.- Parameter:
dto
- das Datenbank-DTOid
- die IDinitAttributes
- die Attribute zur Initialisierung- Löst aus:
ApiOperationException
- im Fehlerfall
-
map
Wandelt das Datenbank-DTO in das Core-DTO um, soweit die Daten in dem Datenbank-DTO enthalten sind.- Parameter:
dto
- das Datenbank-DTO- Gibt zurück:
- das neu erstellte Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
mapList
Wandelt die Datenbank-DTOs in der übergebenen Collection in Core-DTOs und gibt die Liste dieser umgewandelten DTOs zurück.- Parameter:
dtos
- die Collection der Datenbank-DTOs- Gibt zurück:
- die Liste der Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
mapAttribute
protected void mapAttribute(DatabaseDTO dto, String name, Object value, Map<String, Object> map) throws ApiOperationExceptionFührt das Mapping eines Attributes des Core-DTOs auf das zugehörige Datenbank-DTO durch.
Wichtig: Diese Methode muss überschrieben werden, damit die Add-Methoden und Patch-Methoden ausführbar sind.- Parameter:
dto
- das Datenbank-DTOname
- der Name des Core-DTO-Attributesvalue
- der Wert des Core-DTO-Attributesmap
- die map von Attribut-Namen des Core-DTOs auf den zugehörigen Attributwertes- Löst aus:
ApiOperationException
- wenn ein Fehler bei dem Mapping auftritt
-
getAll
Ermittelt eine Liste mit allen Core-DTOs aus der DB. Wird in seltenen Fällen verwendet, wenn auch eine Filterung bei der MethodegetList()
implementiert wird. Wichtig: Diese Methode muss überschrieben werden, damit die MethodegetAllAsResponse()
ausführbar ist.- Gibt zurück:
- eine Liste der Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getAllAsResponse
Ermittelt eine Liste mit allen Core-DTOs aus der DB. Wird in seltenen Fällen verwendet, wenn auch eine Filterung bei der MethodegetList()
implementiert wird. Diese wird im Erfolgsfall als JSON eingebettet in einer HTTP-Response 200 zurückgegeben.- Gibt zurück:
- eine HTTP-Response mit der Liste der Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getList
Ermittelt eine Liste mit Core-DTOs aus der DB. Wenn bei dieser Methode eine Filterung in der abgeleiteten Klasse genutzt wird, so steht als zweite Option die MethodegetAll()
zur Verfügung, um den Abruf aller Core-DTOs zu implementieren. Wichtig: Diese Methode muss überschrieben werden, damit die MethodegetListAsResponse()
ausführbar ist.- Gibt zurück:
- eine Liste der Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getListAsResponse
Ermittelt eine Liste mit Core-DTOs aus der DB. Wenn bei dieser Methode eine Filterung in der abgeleiteten Klasse genutzt wird, so seht als zweite Option die Methode getAll zur Verfügung, um den Abruf aller Datenbank-Werte zu implementieren. Diese wird im Erfolgsfall als JSON eingebettet in einer HTTP-Response 200 zurückgegeben.- Gibt zurück:
- eine HTTP-Response mit der Liste der Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getById
Ermittelt das Core-DTO mit der angegebenen ID. Wichtig: Diese Methode muss überschrieben werden, damit die MethodegetByIdAsResponse(Object)
ausführbar ist.- Parameter:
id
- die ID- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
getByIdAsResponse
Ermittelt das Core-DTO mit der angegebenen ID. Dieses wird im Erfolgsfall als JSON eingebettet in einer HTTP-Response 200 zurückgegeben.- Parameter:
id
- die ID- Gibt zurück:
- eine HTTP-Response mit dem Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
applyPatchMappings
protected void applyPatchMappings(DatabaseDTO dto, Map<String, Object> patchMappings, Set<String> attributesToPatch, Set<String> attributesToSkip, boolean isCreation) throws ApiOperationExceptionWendet die angegebenen Mappings für die Attribute des Core-DTOs (übergebene Map) auf das übergebene Datenbank-DTO an.- Parameter:
dto
- das Datenbank-DTOpatchMappings
- eine Map mit den Attributen und den Attributwerten des Core-DTOsattributesToPatch
- eine Menge von Attributen, die gepatched werden sollen;null
wenn alle Attribute berücksichtigt werden sollenattributesToSkip
- eine Menge von Attributen, die beim Patch ausgelassen werden sollenisCreation
- gibt an, ob es sich um ein neues DTO handelt. Wenntrue
, dann werden die Attribute ausattributesNotPatchable
ignoriert.- Löst aus:
ApiOperationException
- im Fehlerfall
-
patchAsResponse
public jakarta.ws.rs.core.Response patchAsResponse(ID id, InputStream is) throws ApiOperationException Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenenInputStream
an. Dabei werden nur die übergebenen Mappings zugelassen.- Parameter:
id
- die ID des zu patchenden DTOsis
- der Input-Stream- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
patchFromStream
Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenenInputStream
an. Dabei werden nur die übergebenen Mappings zugelassen.- Parameter:
id
- die ID des zu patchenden DTOsis
- der Input-Stream- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
patchMultipleAsResponse
public jakarta.ws.rs.core.Response patchMultipleAsResponse(InputStream is) throws ApiOperationException Passt die Informationen der Datenbank-DTOs mithilfe des JSON-Patches aus dem übergebenenInputStream
an. Dabei werden nur die übergebenen Mappings zugelassen.- Parameter:
is
- der Input-Stream- Gibt zurück:
- die Response
- Löst aus:
ApiOperationException
- im Fehlerfall
-
addAsResponse
Fügt ein neues DTO in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.- Parameter:
is
- der Input-Stream- Gibt zurück:
- die Response mit dem Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
addMultipleAsResponse
public jakarta.ws.rs.core.Response addMultipleAsResponse(InputStream is) throws ApiOperationException Fügt mehrere neue DTOs in die Datenbank hinzu, indem in der Datenbank jeweils eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.- Parameter:
is
- der Input-Stream- Gibt zurück:
- die Response mit dem Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
addMultiple
Fügt mehrere neue DTOs in die Datenbank hinzu, indem in der Datenbank jeweils eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden.- Parameter:
is
- der Input-Stream- Gibt zurück:
- die Liste mit den Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
deleteAsResponse
Entfernt das Datenbank-DTO mit der angegebenen ID und gibt das zugehörige Core-DTO in der Response zurück.- Parameter:
id
- die ID- Gibt zurück:
- die Response - im Erfolgsfall mit dem gelöschten Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
deleteMultipleAsResponse
public jakarta.ws.rs.core.Response deleteMultipleAsResponse(List<ID> ids) throws ApiOperationException Entfernt die Datenbank-DTOs mit den angegebenen IDs und gibt die zugehörigen Core-DTOs in der Response zurück.- Parameter:
ids
- die IDs- Gibt zurück:
- die Response - im Erfolgsfall mit den gelöschten Core-DTOs
- Löst aus:
ApiOperationException
- im Fehlerfall
-
hatBenutzerNurFunktionsbezogeneKompetenz
public boolean hatBenutzerNurFunktionsbezogeneKompetenz(@NotNull @NotNull BenutzerKompetenz kompetenzFunktionsbezogen, @NotNull @NotNull Set<BenutzerKompetenz> kompetenzenUebergreifend) Prüft, ob der Benutzer ausschließlich eine funktionsbezogene Kompetenz besitzt und nicht noch zusätzlich eine übergreifende Kompetenz.- Parameter:
kompetenzFunktionsbezogen
- die zu prüfende funktionsbezogene KompetenzkompetenzenUebergreifend
- die zu prüfenden übergreifenden Kompetenzen- Gibt zurück:
true
, wenn der Benutzer ausschließlich die funktionsbezogene Kompetenz besitzt. Ansonstenfalse
wenn der Benutzer eine übergreifende Kompetenz besitzt, bei der eine weiterführende Prüfung nicht mehr notwendig ist.
ThrowsIllegalArgumentException
wenn einer der Methodenparameter fehlt.
-
checkBenutzerFunktionsbezogeneKompetenzKlasse
public void checkBenutzerFunktionsbezogeneKompetenzKlasse(Long idKlasse) throws ApiOperationException Prüft, ob der Benutzer für die angegebene Klasse funktionsbezogene Rechte hat oder nicht.- Parameter:
idKlasse
- die ID der zu prüfenden Klasse- Löst aus:
ApiOperationException
- wenn der Benutzer nicht die Kompetenz für den funktionsbezogenen Zugriff auf die Daten der Klasse hat (403 - FORBIDDEN).
-
checkBenutzerFunktionsbezogeneKompetenzAbiturjahrgang
public void checkBenutzerFunktionsbezogeneKompetenzAbiturjahrgang(Integer abijahrgang) throws ApiOperationException Prüft, ob der Benutzer bei dem angegeben Abiturjahrgang als Beratungslehrer funktionsbezogene Rechte hat oder nicht.- Parameter:
abijahrgang
- der zu prüfende Abiturjahrgang- Löst aus:
ApiOperationException
- wenn der Benutzer nicht die Kompetenz für den funktionsbezogenen Zugriff auf den Abiturjahrgang hat (503 - FORBIDDEN).
-
checkBeforeDeletion
Methode prüft vor dem Löschen, ob alle Vorbedingungen zum Löschen erfüllt sind. Standardmäßig hat diese Methode keine Implementierung. Wenn eine Prüfung durchgeführt werden soll, muss diese Methode überschrieben werden.- Parameter:
dtos
- die Datanbank-DTOs, die gelöscht werden sollen- Löst aus:
ApiOperationException
- im Fehlerfall
-
checkBeforeCreation
public void checkBeforeCreation(ID newID, Map<String, Object> initAttributes) throws ApiOperationExceptionMethode prüft vor dem Erstellen eines neuen Datenbank-DTOs, ob alle Vorbedingungen zum Erstellen erfüllt sind. Standardmäßig hat diese Methode keine Implementierung. Wenn eine Prüfung durchgeführt werden soll, muss diese Methode überschrieben werden.- Parameter:
newID
- die neue ID für das DTOinitAttributes
- die Map mit den initialen Attributen für das neue DTO- Löst aus:
ApiOperationException
- wird geworfen, wenn eine Vorbedingung nicht erfüllt wurde
-
checkBeforePatch
public void checkBeforePatch(DatabaseDTO dto, Map<String, Object> patchAttributes) throws ApiOperationExceptionMethode prüft vor dem Patchen eines Datenbank-DTOs, ob alle Vorbedingungen zum Patch erfüllt sind. Standardmäßig hat diese Methode keine Implementierung. Wenn eine Prüfung durchgeführt werden soll, muss diese Methode überschrieben werden.- Parameter:
dto
- das DTOpatchAttributes
- die Map mit den zu patchenden Attributen für das DTO- Löst aus:
ApiOperationException
- wird geworfen, wenn eine Vorbedingung nicht erfüllt wurde
-
patch
Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenenInputStream
an. Dabei werden nur die übergebenen Mappings zugelassen.- Parameter:
id
- die ID des zu patchenden DTOsattributesToPatch
- die Map mit dem Mapping der Attributnamen auf die Werte der Attribute im Patch- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
add
Fügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden. Um zu gewährleisten, dass der Primärschlüssel angelegt ist, wird das Patchen von einzelnen Attributen zurückgestellt und erst nach dem Persistieren des Objektes in einem zweiten Schritt durchgeführt.- Parameter:
initAttributes
- die Map mit den initialen Attributen für das neue DTO- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
addFromMapAsResponse
public jakarta.ws.rs.core.Response addFromMapAsResponse(Map<String, Object> initAttributes) throws ApiOperationExceptionFügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden. Um zu gewährleisten, dass der Primärschlüssel angelegt ist, wird das Patchen von einzelnen Attributen zurückgestellt und erst nach dem Persistieren des Objektes in einem zweiten Schritt durchgeführt.- Parameter:
initAttributes
- die Map mit den initialen Attributen für das neue DTO- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
addBasic
protected CoreDTO addBasic(ID newID, Map<String, Object> initAttributes) throws ApiOperationExceptionFügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden. Um zu gewährleisten, dass der Primärschlüssel angelegt ist, wird das Patchen von einzelnen Attributen zurückgestellt und erst nach dem Persistieren des Objektes in einem zweiten Schritt durchgeführt.- Parameter:
newID
- die neue ID für das DTOinitAttributes
- die Map mit den initialen Attributen für das neue DTO- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
addFromStream
Fügt ein neues DTO des übergebenen Typ in die Datenbank hinzu, indem in der Datenbank eine neue ID abgefragt wird und die Attribute des JSON-Objektes gemäß dem Attribut-Mapper integriert werden. Um zu gewährleisten, dass der Primärschlüssel angelegt ist, wird das Patchen von einzelnen Attributen zurückgestellt und erst nach dem Persistieren des Objektes in einem zweiten Schritt durchgeführt.- Parameter:
is
- der Input-Stream- Gibt zurück:
- das Core-DTO
- Löst aus:
ApiOperationException
- im Fehlerfall
-
saveDatabaseDTO
Methode persistiert das übergebene Datenbank-DTO in der Datenbank.- Parameter:
dto
- Datenbank-DTO, das persistiert werden soll- Löst aus:
ApiOperationException
- im Fehlerfall
-
deleteDatabaseDTO
Methode löscht das übergebene Datenbank-DTO aus der Datenbank.- Parameter:
dto
- Datenbank-DTO, das gelöscht werden soll- Löst aus:
ApiOperationException
- im Fehlerfall
-
getNextID
Bestimmt die nächste ID für ein neues Datenbank-DTO.- Parameter:
lastID
- die letzte IDinitAttributes
- die Map mit den initialen Attributen für das neue DTO- Gibt zurück:
- die neue ID
- Löst aus:
ApiOperationException
- im Fehlerfall
-
createNextLongID
Erzeugt die nächste default ID vom TypLong
für ein neues Datenbank-DTO.- Parameter:
lastID
- die letzte ID- Gibt zurück:
- die neue default ID
-