Klasse DataManager<ID>

java.lang.Object
de.svws_nrw.data.DataManager<ID>
Typparameter:
ID - die Typ, welcher als ID für die Informationen verwendet wird.
Bekannte direkte Unterklassen:
DataAbteilungen, DataAbteilungenKlassenzuordnungen, DataBenutzerDaten, DataBenutzerEMailDaten, DataBenutzergruppeDaten, DataBenutzergruppeliste, DataBenutzerkompetenzGruppenliste, DataBenutzerkompetenzliste, DataBenutzerliste, DataBetriebAnsprechpartner, DataBetriebsliste, DataBetriebsStammdaten, DataEmailSMTPServerKonfiguration, DataENMDaten, DataErzieherarten, DataErzieherliste, DataErzieherStammdaten, DataFachdaten, DataFaecherliste, DataGEAbschlussFaecher, DataGostAbiturjahrgangFachwahlen, DataGostBeratungslehrer, DataGostBlockungKurs, DataGostBlockungKursLehrer, DataGostBlockungRegel, DataGostBlockungSchiene, DataGostBlockungsdaten, DataGostBlockungsergebnisse, DataGostBlockungsliste, DataGostFaecher, DataGostJahrgangFachkombinationen, DataGostJahrgangLaufbahnplanung, DataGostJahrgangSchuelerliste, DataGostJahrgangsdaten, DataGostJahrgangsliste, DataGostKlausurenKalenderinformation, DataGostSchuelerLaufbahnplanungBeratungsdaten, DataHaltestellen, DataJahrgangsdaten, DataJahrgangsliste, DataKAoAAnschlussoptionen, DataKAoABerufsfelder, DataKAoAEbene4, DataKAoAKategorien, DataKAoAMerkmale, DataKAoAZusatzmerkmale, DataKatalogAbgangsartenAllgemeinbildend, DataKatalogAbgangsartenBerufsbildend, DataKatalogAllgemeineMerkmale, DataKatalogAufsichtsbereiche, DataKatalogBerufskollegAnlagen, DataKatalogBerufskollegBerufsebenen, DataKatalogBerufskollegFachklassen, DataKatalogBeschaeftigunsarten, DataKatalogBetriebsarten, DataKatalogBilingualeSprachen, DataKatalogEinschulungsarten, DataKatalogFachgruppen, DataKatalogFoerderschwerpunkte, DataKatalogHerkuenfte, DataKatalogHerkunftsarten, DataKatalogHerkunftsschulnummern, DataKatalogJahrgaenge, DataKatalogKindergartenbesuch, DataKatalogKlassenarten, DataKatalogKursarten, DataKatalogLehrerAbgangsgruende, DataKatalogLehrerAnrechnungsgruende, DataKatalogLehrerBeschaeftigungsarten, DataKatalogLehrerEinsatzstatus, DataKatalogLehrerFachrichtungAnerkennungen, DataKatalogLehrerFachrichtungen, DataKatalogLehrerLehraemter, DataKatalogLehrerLehramtAnerkennungen, DataKatalogLehrerLehrbefaehigungAnerkennungen, DataKatalogLehrerLehrbefaehigungen, DataKatalogLehrerLeitungsfunktionen, DataKatalogLehrerMehrleistungsarten, DataKatalogLehrerMinderleistungsarten, DataKatalogLehrerRechtsverhaeltnis, DataKatalogLehrerZugangsgruende, DataKatalogNationalitaeten, DataKatalogNoten, DataKatalogOrganisationsformen, DataKatalogOrte, DataKatalogOrtsteile, DataKatalogPausenzeiten, DataKatalogPruefungsordnungen, DataKatalogRaeume, DataKatalogReformpaedagogik, DataKatalogReligionen, DataKatalogSchuelerFahrschuelerarten, DataKatalogSchuelerFoerderschwerpunkte, DataKatalogSchulabschluesseAllgemeinbildend, DataKatalogSchulabschluesseBerufsbildend, DataKatalogSchulen, DataKatalogSchulformen, DataKatalogSchulgliederungen, DataKatalogSchultraeger, DataKatalogSprachpruefungsniveaus, DataKatalogSprachreferenzniveaus, DataKatalogUebergangsempfehlung, DataKatalogVerkehrssprachen, DataKatalogZeitraster, DataKatalogZulaessigeFaecher, DataKlasseStundenplan, DataKursdaten, DataKursliste, DataLehrerFachrichtungen, DataLehrerLehramt, DataLehrerLehrbefaehigung, DataLehrerliste, DataLehrerPersonalabschnittsdaten, DataLehrerPersonalabschnittsdatenAnrechungen, DataLehrerPersonalabschnittsdatenLehrerfunktionen, DataLehrerPersonalabschnittsdatenMehrleistungen, DataLehrerPersonalabschnittsdatenMinderleistungen, DataLehrerPersonaldaten, DataLehrerStammdaten, DataLehrerStundenplan, DataOauthClientSecrets, DataOrte, DataOrtsteile, DataReligionen, DataSchildAbiturInfos, DataSchildDatenart, DataSchildDQRNiveaus, DataSchildExportCSV, DataSchildFilterFehlendeEintraege, DataSchildLaender, DataSchildPruefungsordnung, DataSchildPruefungsordnungOptionen, DataSchildUnicodeUmwandlung, DataSchildVersetzungsvermerke, DataSchuelerBetriebsdaten, DataSchuelerLernabschnittsliste, DataSchuelerliste, DataSchuelerSchulbesuchsdaten, DataSchuelerStammdaten, DataSchuelerStatus, DataSchuelerStundenplan, DataSchulen, DataSchuleStammdaten, DataSchuljahresabschnitte, DataSchulleitung, DataStrassen, DataStundenplan, DataStundenplanAufsichtsbereiche, DataStundenplanFaecher, DataStundenplanJahrgaenge, DataStundenplanKlassen, DataStundenplanKlassenunterricht, DataStundenplanKurse, DataStundenplanLehrer, DataStundenplanListe, DataStundenplanPausenaufsichten, DataStundenplanPausenaufsichtenBereich, DataStundenplanRaeume, DataStundenplanSchienen, DataStundenplanSchueler, DataStundenplanUnterricht, DataStundenplanUnterrichtsverteilung, DataStundenplanZeitraster

public abstract class DataManager<ID> extends Object
Diese abstrakte Klasse ist die Grundlage für das einheitliche Aggregieren von Informationen für die OpenAPI und das einheitliche Bereitstellen von Funktionen, welche Daten für GET oder PATCH-Zugriff zur Verfügung stellen.
  • Feldübersicht

    Felder
    Modifizierer und Typ
    Feld
    Beschreibung
    protected final DBEntityManager
    Die Datenbank-Verbindung zum Aggregieren der Informationen aus der DB und zum Schreiben der Informationen bzw.
  • Konstruktorübersicht

    Konstruktoren
    Modifizierer
    Konstruktor
    Beschreibung
    protected
    Erstellt einen neuen Datenmanager mit der angegebenen Verbindung
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    protected <DTO, CoreData>
    jakarta.ws.rs.core.Response
    addBasic(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Map<String,DataBasicMapper<DTO>> attributeMapper)
    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
    protected <DTO, CoreData>
    jakarta.ws.rs.core.Response
    addBasicMultiple(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Map<String,DataBasicMapper<DTO>> attributeMapper)
    Fügt mehrere neue DTOs des übergebenen Typ 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 <DTO, CoreData>
    jakarta.ws.rs.core.Response
    addBasicMultipleWithDelayedPatch(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Set<String> attributesDelayed, Map<String,DataBasicMapper<DTO>> attributeMapper)
    Fügt mehrere neue DTOs des übergebenen Typ 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 <DTO, CoreData>
    jakarta.ws.rs.core.Response
    addBasicWithDelayedPatch(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Set<String> attributesDelayed, Map<String,DataBasicMapper<DTO>> attributeMapper)
    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.
    protected static <DTO> void
    applyPatchMappings(DBEntityManager conn, DTO dto, Map<String,Object> map, Map<String,DataBasicMapper<DTO>> attributeMapper, Set<String> attributesSkip, Set<String> attributesForbidden)
    Wendet die angegebenen Mappings für die Attribute des Core-DTOs (übergebene Map) auf das übergebene DatenbankDTO an.
    protected <DTO, CoreData>
    jakarta.ws.rs.core.Response
    deleteBasic(Object id, Class<DTO> dtoClass, DTOMapper<DTO,CoreData> dtoMapper)
    Entfernt das Datenbank-DTO mit der angegebenen ID und gibt das zugehörige Core-DTO in der Response zurück.
    protected <DTO, CoreData>
    jakarta.ws.rs.core.Response
    deleteBasicMultiple(List<? extends Object> ids, Class<DTO> dtoClass, DTOMapper<DTO,CoreData> dtoMapper)
    Entfernt die Datenbank-DTOs mit den angegebenen IDs und gibt die zugehörigen Core-DTOs in der Response zurück.
    jakarta.ws.rs.core.Response
    get()
    Ermittelt die Informationen ohne eine gültige ID (null).
    abstract jakarta.ws.rs.core.Response
    get(ID id)
    Ermittelt die Informationen anhand der angegebenen ID.
    abstract jakarta.ws.rs.core.Response
    Ermittelt eine Liste mit allen Informationen in der DB.
    abstract jakarta.ws.rs.core.Response
    Ermittelt eine Liste mit Informationen.
    protected <DTO> DTO
    newDTO(Class<DTO> dtoClass, long newID, ObjLongConsumer<DTO> initDTO)
    Erstellt und initialisiert eine neues DTO.
    protected <DTO> DTO
    newDTO(Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO)
    Erstellt und initialisiert eine neues DTO.
    abstract jakarta.ws.rs.core.Response
    patch(ID id, InputStream is)
    Passt die Informationen mithilfe des JSON-Patches aus dem übergebenen InputStream an.
    jakarta.ws.rs.core.Response
    Passt die Informationen mithilfe des JSON-Patches aus dem übergebenen InputStream an.
    protected <DTO> jakarta.ws.rs.core.Response
    patchBasic(ID id, InputStream is, Class<DTO> dtoClass, Map<String,DataBasicMapper<DTO>> attributeMapper)
    Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenen InputStream an.
    protected <DTO> jakarta.ws.rs.core.Response
    patchBasicFiltered(ID id, InputStream is, Class<DTO> dtoClass, Map<String,DataBasicMapper<DTO>> attributeMapper, Set<String> attributesForbidden)
    Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenen InputStream an.
    protected <DTO> jakarta.ws.rs.core.Response
    patchBasicMultiple(String idAttr, InputStream is, Class<DTO> dtoClass, Map<String,DataBasicMapper<DTO>> attributeMapper)
    Passt die Informationen der Datenbank-DTOs mithilfe des JSON-Patches aus dem übergebenen InputStream an.

    Von Klasse geerbte Methoden java.lang.Object

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

    • conn

      protected final DBEntityManager conn
      Die Datenbank-Verbindung zum Aggregieren der Informationen aus der DB und zum Schreiben der Informationen bzw. Teilinformationen
  • Konstruktordetails

    • DataManager

      protected DataManager(DBEntityManager conn)
      Erstellt einen neuen Datenmanager mit der angegebenen Verbindung
      Parameter:
      conn - die Datenbank-Verbindung, welche vom Daten-Manager benutzt werden soll
  • Methodendetails

    • getAll

      public abstract jakarta.ws.rs.core.Response getAll() throws ApiOperationException
      Ermittelt eine Liste mit allen Informationen in der DB. Wird üblicherweise durch GET-Methoden für Listen verwendet. Meist ist die Methode getList zu bevorzugen.
      Gibt zurück:
      eine Liste mit den Informationen
      Löst aus:
      ApiOperationException - im Fehlerfall
    • getList

      public abstract jakarta.ws.rs.core.Response getList() throws ApiOperationException
      Ermittelt eine Liste mit Informationen. Wird üblicherweise durch GET-Methoden für Listen verwendet. Bei dieser Liste werden ggf. Filter verwendet (z.B. nur als sichtbar markierte Einträge)
      Gibt zurück:
      eine Liste mit den Informationen
      Löst aus:
      ApiOperationException - im Fehlerfall
    • get

      public abstract jakarta.ws.rs.core.Response get(ID id) throws ApiOperationException
      Ermittelt die Informationen anhand der angegebenen ID. Wird üblicherweise durch GET-Methoden verwendet.
      Parameter:
      id - die ID der gesuchten Informationen
      Gibt zurück:
      die Information mit der angebenen ID
      Löst aus:
      ApiOperationException - im Fehlerfall
    • get

      public jakarta.ws.rs.core.Response get() throws ApiOperationException
      Ermittelt die Informationen ohne eine gültige ID (null). Wird üblicherweise durch GET-Methoden verwendet.
      Gibt zurück:
      die Information mit der angebenen ID
      Löst aus:
      ApiOperationException - im Fehlerfall
    • patch

      public abstract jakarta.ws.rs.core.Response patch(ID id, InputStream is) throws ApiOperationException
      Passt die Informationen mithilfe des JSON-Patches aus dem übergebenen InputStream an.
      Parameter:
      id - die ID der anzupassenden Informationen
      is - der InputStream mit dem JSON-Patch
      Gibt zurück:
      Die HTTP-Response der Patch-Operation
      Löst aus:
      ApiOperationException - im Fehlerfall
    • patch

      public jakarta.ws.rs.core.Response patch(InputStream is) throws ApiOperationException
      Passt die Informationen mithilfe des JSON-Patches aus dem übergebenen InputStream an. Eine ID wird in diesem Fall nicht verwendet und als null angenommen.
      Parameter:
      is - der InputStream mit dem JSON-Patch
      Gibt zurück:
      Die HTTP-Response der Patch-Operation
      Löst aus:
      ApiOperationException - im Fehlerfall
    • applyPatchMappings

      protected static <DTO> void applyPatchMappings(DBEntityManager conn, DTO dto, Map<String,Object> map, Map<String,DataBasicMapper<DTO>> attributeMapper, Set<String> attributesSkip, Set<String> attributesForbidden) throws ApiOperationException
      Wendet die angegebenen Mappings für die Attribute des Core-DTOs (übergebene Map) auf das übergebene DatenbankDTO an.
      Typparameter:
      DTO - Der Typ des Datenbank-DTOs
      Parameter:
      conn - die Datenbankverbindung
      dto - das Datenbank-DTO
      map - eine Map mit den Attributen und den Attributwerten des Core-DTOs
      attributeMapper - eine Map mit den Mappingfunktionen zum mappen von Core-DTO-Attributen auf Datenbank-DTO-Attributen
      attributesSkip - eine Menge von Attributen, die ausgelassen wird
      attributesForbidden - eine Menge von Attributen, die nicht im JSON-Inputstream enthalten sein dürfen, null falls nicht gefiltert werden soll
      Löst aus:
      ApiOperationException - im Fehlerfall
    • patchBasicFiltered

      protected <DTO> jakarta.ws.rs.core.Response patchBasicFiltered(ID id, InputStream is, Class<DTO> dtoClass, Map<String,DataBasicMapper<DTO>> attributeMapper, Set<String> attributesForbidden) throws ApiOperationException
      Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenen InputStream an. Dabei werden nur die übergebenen Mappings zugelassen.
      Typparameter:
      DTO - der Typ des DTOs
      Parameter:
      id - die ID des zu patchenden DTOs
      is - der Input-Stream
      dtoClass - die Klasse des DTOs
      attributeMapper - die Mapper für das Anpassen des DTOs
      attributesForbidden - eine Menge von Attributen, die nicht im JSON-Inputstream enthalten sein dürfen, null falls nicht gefiltert werden soll
      Gibt zurück:
      die Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • patchBasic

      protected <DTO> jakarta.ws.rs.core.Response patchBasic(ID id, InputStream is, Class<DTO> dtoClass, Map<String,DataBasicMapper<DTO>> attributeMapper) throws ApiOperationException
      Passt die Informationen des Datenbank-DTO mit der angegebenen ID mithilfe des JSON-Patches aus dem übergebenen InputStream an. Dabei werden nur die übergebenen Mappings zugelassen.
      Typparameter:
      DTO - der Typ des DTOs
      Parameter:
      id - die ID des zu patchenden DTOs
      is - der Input-Stream
      dtoClass - die Klasse des DTOs
      attributeMapper - die Mapper für das Anpassen des DTOs
      Gibt zurück:
      die Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • patchBasicMultiple

      protected <DTO> jakarta.ws.rs.core.Response patchBasicMultiple(String idAttr, InputStream is, Class<DTO> dtoClass, Map<String,DataBasicMapper<DTO>> attributeMapper) throws ApiOperationException
      Passt die Informationen der Datenbank-DTOs mithilfe des JSON-Patches aus dem übergebenen InputStream an. Dabei werden nur die übergebenen Mappings zugelassen.
      Typparameter:
      DTO - der Typ der DTOs
      Parameter:
      idAttr - der Name des ID-Attributes der DTOs
      is - der Input-Stream
      dtoClass - die Klasse der DTOs
      attributeMapper - die Mapper für das Anpassen des DTOs
      Gibt zurück:
      die Response
      Löst aus:
      ApiOperationException - im Fehlerfall
    • newDTO

      protected <DTO> DTO newDTO(Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO) throws ApiOperationException
      Erstellt und initialisiert eine neues DTO.
      Typparameter:
      DTO - der Type des DTO
      Parameter:
      dtoClass - die Klasse des DTO
      initDTO - der Consumer zum Initialisieren des DTO
      Gibt zurück:
      das neue DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • newDTO

      protected <DTO> DTO newDTO(Class<DTO> dtoClass, long newID, ObjLongConsumer<DTO> initDTO) throws ApiOperationException
      Erstellt und initialisiert eine neues DTO.
      Typparameter:
      DTO - der Type des DTO
      Parameter:
      dtoClass - die Klasse des DTO
      newID - die neue ID für das DTO
      initDTO - der Consumer zum Initialisieren des DTO
      Gibt zurück:
      das neue DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • addBasic

      protected <DTO, CoreData> jakarta.ws.rs.core.Response addBasic(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Map<String,DataBasicMapper<DTO>> attributeMapper) throws ApiOperationException
      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
      Typparameter:
      DTO - der Typ des Datenbank-DTOs
      CoreData - der Typ des Core-DTOs
      Parameter:
      is - der Input-Stream
      dtoClass - die Klasse des DTOs
      initDTO - ein BiConsumer zum Initialisieren des Datenbank-DTOs
      dtoMapper - die Funktion zum Erstellen
      attributesRequired - eine Menge der benötigten Attribute im JSON-Inputstream, um das Objekt zu initialisiesen
      attributeMapper - die Mapper für das Anpassen des DTOs
      Gibt zurück:
      die Response mit dem Core-DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • addBasicWithDelayedPatch

      protected <DTO, CoreData> jakarta.ws.rs.core.Response addBasicWithDelayedPatch(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Set<String> attributesDelayed, Map<String,DataBasicMapper<DTO>> attributeMapper) throws ApiOperationException
      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üssels angelegt ist, wird das Patchen von einzelnen Attributen zurückgestellt und erst nach dem Persistieren des Objektes in einem zweiten Schritt gepatched.
      Typparameter:
      DTO - der Typ des Datenbank-DTOs
      CoreData - der Typ des Core-DTOs
      Parameter:
      is - der Input-Stream
      dtoClass - die Klasse des DTOs
      initDTO - ein BiConsumer zum Initialisieren des Datenbank-DTOs
      dtoMapper - die Funktion zum Erstellen
      attributesRequired - eine Menge der benötigten Attribute im JSON-Inputstream, um das Objekt zu initialisiesen
      attributesDelayed - eine Menge von Attriuten, die erst in einem zweiten Schritt gepatched werden.
      attributeMapper - die Mapper für das Anpassen des DTOs
      Gibt zurück:
      die Response mit dem Core-DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • addBasicMultiple

      protected <DTO, CoreData> jakarta.ws.rs.core.Response addBasicMultiple(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Map<String,DataBasicMapper<DTO>> attributeMapper) throws ApiOperationException
      Fügt mehrere neue DTOs des übergebenen Typ 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.
      Typparameter:
      DTO - der Typ des Datenbank-DTOs
      CoreData - der Typ des Core-DTOs
      Parameter:
      is - der Input-Stream
      dtoClass - die Klasse des DTOs
      initDTO - ein BiConsumer zum Initialisieren des Datenbank-DTOs
      dtoMapper - die Funktion zum Erstellen
      attributesRequired - eine Menge der benötigten Attribute im JSON-Inputstream, um das Objekt zu initialisiesen
      attributeMapper - die Mapper für das Anpassen des DTOs
      Gibt zurück:
      die Response mit dem Core-DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • addBasicMultipleWithDelayedPatch

      protected <DTO, CoreData> jakarta.ws.rs.core.Response addBasicMultipleWithDelayedPatch(InputStream is, Class<DTO> dtoClass, ObjLongConsumer<DTO> initDTO, DTOMapper<DTO,CoreData> dtoMapper, Set<String> attributesRequired, Set<String> attributesDelayed, Map<String,DataBasicMapper<DTO>> attributeMapper) throws ApiOperationException
      Fügt mehrere neue DTOs des übergebenen Typ 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. Um zu gewährleisten, dass der Primärschlüssels angelegt ist, wird das Patchen von einzelnen Attributen zurückgestellt und erst nach dem Persistieren des Objektes in einem zweiten Schritt gepatched.
      Typparameter:
      DTO - der Typ des Datenbank-DTOs
      CoreData - der Typ des Core-DTOs
      Parameter:
      is - der Input-Stream
      dtoClass - die Klasse des DTOs
      initDTO - ein BiConsumer zum Initialisieren des Datenbank-DTOs
      dtoMapper - die Funktion zum Erstellen
      attributesRequired - eine Menge der benötigten Attribute im JSON-Inputstream, um das Objekt zu initialisiesen
      attributesDelayed - eine Menge von Attriuten, die erst in einem zweiten Schritt gepatched werden.
      attributeMapper - die Mapper für das Anpassen des DTOs
      Gibt zurück:
      die Response mit dem Core-DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • deleteBasic

      protected <DTO, CoreData> jakarta.ws.rs.core.Response deleteBasic(Object id, Class<DTO> dtoClass, DTOMapper<DTO,CoreData> dtoMapper) throws ApiOperationException
      Entfernt das Datenbank-DTO mit der angegebenen ID und gibt das zugehörige Core-DTO in der Response zurück.
      Typparameter:
      DTO - der Typ des Datenbank-DTOs
      CoreData - der Typ des Core-DTOs
      Parameter:
      id - die ID
      dtoClass - die Klasse des Datenbank-DTOs
      dtoMapper - der Mapper für das Mapping eines Datenbank-DTOs auf ein Core-DTO
      Gibt zurück:
      die Response - im Erfolgsfall mit dem gelöschten Core-DTO
      Löst aus:
      ApiOperationException - im Fehlerfall
    • deleteBasicMultiple

      protected <DTO, CoreData> jakarta.ws.rs.core.Response deleteBasicMultiple(List<? extends Object> ids, Class<DTO> dtoClass, DTOMapper<DTO,CoreData> dtoMapper) throws ApiOperationException
      Entfernt die Datenbank-DTOs mit den angegebenen IDs und gibt die zugehörigen Core-DTOs in der Response zurück.
      Typparameter:
      DTO - der Typ des Datenbank-DTOs
      CoreData - der Typ des Core-DTOs
      Parameter:
      ids - die IDs
      dtoClass - die Klasse der Datenbank-DTOs
      dtoMapper - der Mapper für das Mapping eines Datenbank-DTOs auf ein Core-DTO
      Gibt zurück:
      die Response - im Erfolgsfall mit den gelöschten Core-DTOs
      Löst aus:
      ApiOperationException - im Fehlerfall