Package de.pisa.psa.rst.obj
Class PsaRstApiObjBas
java.lang.Object
de.pisa.psa.rst.obj.PsaRstApiObjBas
- Direct Known Subclasses:
PsaRstApiObj
REST API: base implementation of a data object
- Since:
- 22.01.2024
- Author:
- weiland
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
ISO date controller classstatic class
string mapper for loading the data -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The place holder data to indicate that the default value for a field should be used -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
checkAccess
(de.pisa.psc.srv.dto.PscDto dto, int row) check if the session has read access on a recordget the event handlerprotected de.pisa.psc.srv.dto.PscFld
get the data object fieldget the ISO date controller classstatic Optional<PsaRstApiMapFld.MapEntry>
getMappedClassField
(List<PsaRstApiMapFld.MapEntry> field_mapping, String name) get the field mapping by search for a JSON fieldboolean
get if the maximum number of characters should be set to a fieldboolean
get if base fields should be skipped during the loading of databoolean
if base fields are skipped get if the id field should be skipped toovoid
loadData
(de.pisa.psc.srv.dto.PscDto dto, int row) fill the attributes with data from the data objectprotected void
loadDataComponents
(de.pisa.psc.srv.dto.PscDto dto, int row) load the data for all attributes with a PsaRstApiMapCom annotationprotected void
loadDataFields
(de.pisa.psc.srv.dto.PscDto dto, int row) load the data for all attributes with a PsaRstApiMapFld annotationprotected void
loadDataRelations
(de.pisa.psc.srv.dto.PscDto dto, int row) load the data for all attributes with a PsaRstApiMapRel annotationprotected DataMapping
get a new data mapping instanceprotected de.pisa.psc.srv.dto.PscDto
create a new data objectprotected PsaRstApiObjBas.StringMapper
newStringMapper
(de.pisa.psc.srv.glb.PscSsn ssn) get a new string mappervoid
setData
(de.pisa.psc.srv.dto.PscDto dto, int row) set the value of the attributes at the data objectvoid
setDataPostPut
(de.pisa.psc.srv.dto.PscDto dto, int row) Hook after the data has been set and putDat has been called on the data objectvoid
setEventHandler
(PsaRstApiEvtHdl event_handler) set the event handlervoid
setEventHandler
(PsaRstApiObjBas object) set the event handler to the same event handler of another objectvoid
setIsoDate
(PsaRstApiObjBas.IsoDate iso_date) set the ISO date controller classvoid
setSetMaxData
(boolean max) set if the maximum number of characters should be set to a fieldvoid
setSkipBaseFields
(boolean skip_base_fields) set if base fields should be skipped during the loading of datavoid
setSkipIdField
(boolean skip_id_field) if base fields are skipped set if the id field should be skipped tooprotected boolean
check if a class field should be skipped during loading the data
-
Field Details
-
DEFAULT_DATA
The place holder data to indicate that the default value for a field should be used- See Also:
-
-
Constructor Details
-
PsaRstApiObjBas
public PsaRstApiObjBas()Constructor
-
-
Method Details
-
setSkipBaseFields
public void setSkipBaseFields(boolean skip_base_fields) set if base fields should be skipped during the loading of data- Parameters:
skip_base_fields
- true to skip fields
-
getSkipBaseFields
public boolean getSkipBaseFields()get if base fields should be skipped during the loading of data- Returns:
- true to skip fields
-
setSkipIdField
public void setSkipIdField(boolean skip_id_field) if base fields are skipped set if the id field should be skipped too- Parameters:
skip_id_field
- true to skip field (default=true)
-
getSkipIdField
public boolean getSkipIdField()if base fields are skipped get if the id field should be skipped too- Returns:
- true to skip fields
-
setSetMaxData
public void setSetMaxData(boolean max) set if the maximum number of characters should be set to a field- Parameters:
max
- number of character
-
getSetMaxData
public boolean getSetMaxData()get if the maximum number of characters should be set to a field- Returns:
- number of character
-
setIsoDate
set the ISO date controller class- Parameters:
iso_date
- class
-
getIsoDate
get the ISO date controller class- Returns:
- class
-
setEventHandler
set the event handler- Parameters:
event_handler
- handler
-
setEventHandler
set the event handler to the same event handler of another object- Parameters:
object
- object to get the vent handler from
-
getEventHandler
get the event handler- Returns:
- handler
-
newDto
protected de.pisa.psc.srv.dto.PscDto newDto(de.pisa.psc.srv.glb.PscSsn ssn, String dsc) throws Exception create a new data object- Parameters:
ssn
- sessiondsc
- descriptor of the data object- Returns:
- data object
- Throws:
Exception
-
newStringMapper
protected PsaRstApiObjBas.StringMapper newStringMapper(de.pisa.psc.srv.glb.PscSsn ssn) throws Exception get a new string mapper- Parameters:
ssn
- session- Returns:
- mapper
- Throws:
Exception
-
getMappedClassField
public static Optional<PsaRstApiMapFld.MapEntry> getMappedClassField(List<PsaRstApiMapFld.MapEntry> field_mapping, String name) get the field mapping by search for a JSON field- Parameters:
field_mapping
- field mappingsname
- name of the JSON field to search- Returns:
- mapping
-
checkAccess
check if the session has read access on a record- Parameters:
dto
- dtorow
- row to check- Returns:
- true if record can be read
- Throws:
Exception
-
loadData
fill the attributes with data from the data object- Parameters:
dto
- data objectrow
- row- Throws:
Exception
-
loadDataFields
load the data for all attributes with a PsaRstApiMapFld annotation- Parameters:
dto
- data objectrow
- row- Throws:
Exception
-
loadDataComponents
load the data for all attributes with a PsaRstApiMapCom annotation- Parameters:
dto
- data objectrow
- row- Throws:
Exception
-
loadDataRelations
load the data for all attributes with a PsaRstApiMapRel annotation- Parameters:
dto
- data objectrow
- row- Throws:
Exception
-
setData
set the value of the attributes at the data object- Parameters:
dto
- data object to modifyrow
- row to modify- Throws:
Exception
-
newDataMapping
get a new data mapping instance- Returns:
- mapper
- Throws:
Exception
-
setDataPostPut
Hook after the data has been set and putDat has been called on the data object- Parameters:
dto
- data objectrow
- the row that was modified- Throws:
Exception
-
getField
protected de.pisa.psc.srv.dto.PscFld getField(de.pisa.psc.srv.dto.PscDto dto, String fld_dsc, String lng) throws de.pisa.psc.srv.glb.PscExc get the data object field- Parameters:
dto
- data objectfld_dsc
- field descriptorlng
- optional language identifier (e.g. GER or ENG)- Returns:
- field
- Throws:
de.pisa.psc.srv.glb.PscExc
-
skipField
check if a class field should be skipped during loading the data- Parameters:
field
- field to check- Returns:
- true if the field should be skipped
-