Package org.ehrbase.dao.access.jooq
Class FolderHistoryAccess
- java.lang.Object
-
- org.ehrbase.dao.access.support.DataAccess
-
- org.ehrbase.dao.access.jooq.FolderHistoryAccess
-
- All Implemented Interfaces:
Comparable<FolderHistoryAccess>,I_DomainAccess,I_FolderAccess,I_VersionedCRUD
public class FolderHistoryAccess extends DataAccess implements I_FolderAccess, Comparable<FolderHistoryAccess>
-
-
Field Summary
-
Fields inherited from interface org.ehrbase.dao.access.interfaces.I_DomainAccess
DBCP2_POOL, KEY_AUTO_RECONNECT, KEY_CONNECTION_MODE, KEY_DATABASE, KEY_DIALECT, KEY_HOST, KEY_INITIAL_CONNECTIONS, KEY_INTROSPECT_CACHE, KEY_KNOWLEDGE, KEY_LOG_ABANDONNED, KEY_LOGIN, KEY_MAX_ACTIVE, KEY_MAX_CONNECTION, KEY_MAX_IDLE, KEY_PASSWORD, KEY_PORT, KEY_REMOVE_ABANDONNED, KEY_REMOVE_ABANDONNED_TIMEOUT, KEY_SCHEMA, KEY_SET_MAX_PREPARED_STATEMENTS, KEY_SET_POOL_PREPARED_STATEMENTS, KEY_TEST_ON_BORROW, KEY_URL, KEY_WAIT_MS, PG_POOL
-
-
Constructor Summary
Constructors Constructor Description FolderHistoryAccess(I_DomainAccess domainAccess)ConstructorsFolderHistoryAccess(I_DomainAccess domainAccess, UUID ehrId, I_ContributionAccess contributionAccess)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadminDeleteFolder()Invoke physical deletion.UUIDcommit(LocalDateTime timestamp, UUID contribution)Commit the object with the necessary metadata, which will be derived from the contribution.UUIDcommit(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)Data Access and modification methodsintcompareTo(FolderHistoryAccess o)intdelete(LocalDateTime timestamp, UUID contribution)Delete the object with the necessary metadata, which will be derived from the contribution.intdelete(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)Delete the object with the necessary metadata.UUIDgetAudit()I_ContributionAccessgetContributionAccess()DataAccessgetDataAccess()UUIDgetEhrId()Getters and Setters for the FolderRecord to storeStringgetFolderArchetypeNodeId()com.nedap.archie.rm.datastructures.ItemStructuregetFolderDetails()UUIDgetFolderId()StringgetFolderName()AbstractMap.SimpleEntry<OffsetDateTime,OffsetDateTime>getFolderSysPeriod()TimestampgetFolderSysTransaction()UUIDgetInContribution()static I_FolderAccessgetInstanceForExistingFolder(I_DomainAccess domainAccess, com.nedap.archie.rm.support.identification.ObjectVersionId folderId, Timestamp timestamp)List<com.nedap.archie.rm.support.identification.ObjectRef<? extends com.nedap.archie.rm.support.identification.ObjectId>>getItems()Get the items references stored as a part of the givenFolderstatic IntegergetLastVersionNumber(I_DomainAccess domainAccess, UUID folderId)Returns the last version number of a given folder by counting all previous versions of a given folder id.Map<UUID,I_FolderAccess>getSubfoldersList()Get the list of subfolders for theFolderthat corresponds to thisI_FolderAccessstatic intgetVersionFromTimeStamp(I_DomainAccess domainAccess, UUID vFolderUid, Timestamp timeCommitted)static booleanhasPreviousVersion(I_DomainAccess domainAccess, UUID folderId)Checks if there are existing entries for given folder uuid at the folder history table.booleanisFolderActive()static I_FolderAccessretrieveInstanceForExistingFolder(I_DomainAccess domainAccess, UUID folderId, Timestamp timestamp)voidsetAudit(UUID auditId)voidsetContributionAccess(I_ContributionAccess contributionAccess)voidsetEhrId(UUID ehrId)voidsetFolderDetails(com.nedap.archie.rm.datastructures.ItemStructure folderDetails)voidsetFolderId(UUID folderId)voidsetFolderName(String folderName)voidsetFolderNArchetypeNodeId(String folderArchetypeNodeId)voidsetFolderSysPeriod(AbstractMap.SimpleEntry<OffsetDateTime,OffsetDateTime> folderSysPeriod)voidsetFolderSysTransaction(Timestamp folderSysTransaction)voidsetInContribution(UUID inContribution)voidsetIsFolderActive(boolean folderActive)voidsetSubfoldersList(Map<UUID,I_FolderAccess> subfolders)booleanupdate(LocalDateTime timestamp, UUID contribution)Update the object with the necessary metadata, which will be derived from the contribution.booleanupdate(LocalDateTime timestamp, UUID committerId, UUID systemId, String description, I_ConceptAccess.ContributionChangeType changeType)Update the object with the necessary metadata.-
Methods inherited from class org.ehrbase.dao.access.support.DataAccess
getConnection, getContext, getDialect, getIntrospectService, getKnowledgeManager, getServerConfig, releaseConnection
-
-
-
-
Constructor Detail
-
FolderHistoryAccess
public FolderHistoryAccess(I_DomainAccess domainAccess)
Constructors
-
FolderHistoryAccess
public FolderHistoryAccess(I_DomainAccess domainAccess, UUID ehrId, I_ContributionAccess contributionAccess)
-
-
Method Detail
-
commit
public UUID commit(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)
Data Access and modification methods- Specified by:
commitin interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcommitterId- Audit committersystemId- Audit systemdescription- (Optional) Audit description- Returns:
- ID of object
-
commit
public UUID commit(LocalDateTime timestamp, UUID contribution)
Description copied from interface:I_VersionedCRUDCommit the object with the necessary metadata, which will be derived from the contribution.- Specified by:
commitin interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcontribution- Given contribution to use and derive audit data from- Returns:
- ID of object
-
update
public boolean update(LocalDateTime timestamp, UUID committerId, UUID systemId, String description, I_ConceptAccess.ContributionChangeType changeType)
Description copied from interface:I_VersionedCRUDUpdate the object with the necessary metadata.- Specified by:
updatein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcommitterId- Audit committersystemId- Audit systemdescription- (Optional) Audit descriptionchangeType- Specific change type, because there are more than DELETED.- Returns:
- Boolean representing success of update
-
update
public boolean update(LocalDateTime timestamp, UUID contribution)
Description copied from interface:I_VersionedCRUDUpdate the object with the necessary metadata, which will be derived from the contribution.- Specified by:
updatein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcontribution- Given contribution to use and derive audit data from- Returns:
- Boolean representing success of update
-
delete
public int delete(LocalDateTime timestamp, UUID committerId, UUID systemId, String description)
Description copied from interface:I_VersionedCRUDDelete the object with the necessary metadata.- Specified by:
deletein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcommitterId- Audit committersystemId- Audit systemdescription- (Optional) Audit description- Returns:
- Number of deleted objects
-
delete
public int delete(LocalDateTime timestamp, UUID contribution)
Description copied from interface:I_VersionedCRUDDelete the object with the necessary metadata, which will be derived from the contribution.- Specified by:
deletein interfaceI_VersionedCRUD- Parameters:
timestamp- Time of operationcontribution- Given contribution to use and derive audit data from- Returns:
- Number of deleted objects
-
getLastVersionNumber
public static Integer getLastVersionNumber(I_DomainAccess domainAccess, UUID folderId)
Returns the last version number of a given folder by counting all previous versions of a given folder id. If there are no previous versions in the history table the version number will be 1. Otherwise the current version equals the count of entries in the folder history table plus 1.- Parameters:
domainAccess- - Database connection access contextfolderId- - UUID of the folder to check for the last version- Returns:
- Latest version number for the folder
-
hasPreviousVersion
public static boolean hasPreviousVersion(I_DomainAccess domainAccess, UUID folderId)
Checks if there are existing entries for given folder uuid at the folder history table. If there are entries existing, the folder has been modified during previous actions and there are older versions existing.- Parameters:
domainAccess- - Database connection access contextfolderId- - UUID of folder to check- Returns:
- Folder has previous versions or not
-
getEhrId
public UUID getEhrId()
Getters and Setters for the FolderRecord to store
-
setEhrId
public void setEhrId(UUID ehrId)
-
getContributionAccess
public I_ContributionAccess getContributionAccess()
-
setContributionAccess
public void setContributionAccess(I_ContributionAccess contributionAccess)
-
setSubfoldersList
public void setSubfoldersList(Map<UUID,I_FolderAccess> subfolders)
-
getSubfoldersList
public Map<UUID,I_FolderAccess> getSubfoldersList()
Description copied from interface:I_FolderAccessGet the list of subfolders for theFolderthat corresponds to thisI_FolderAccess- Specified by:
getSubfoldersListin interfaceI_FolderAccess- Returns:
- Map
whose key is the UUID of the child Folder, and whose value is the I_FolderAccess for the childFolder.
-
getItems
public List<com.nedap.archie.rm.support.identification.ObjectRef<? extends com.nedap.archie.rm.support.identification.ObjectId>> getItems()
Description copied from interface:I_FolderAccessGet the items references stored as a part of the givenFolder- Specified by:
getItemsin interfaceI_FolderAccess- Returns:
- items of the
Folderthat corresponds to thisI_FolderAccess
-
getFolderId
public UUID getFolderId()
- Specified by:
getFolderIdin interfaceI_FolderAccess
-
setFolderId
public void setFolderId(UUID folderId)
- Specified by:
setFolderIdin interfaceI_FolderAccess
-
getInContribution
public UUID getInContribution()
- Specified by:
getInContributionin interfaceI_FolderAccess
-
setInContribution
public void setInContribution(UUID inContribution)
- Specified by:
setInContributionin interfaceI_FolderAccess
-
getFolderName
public String getFolderName()
- Specified by:
getFolderNamein interfaceI_FolderAccess
-
setFolderName
public void setFolderName(String folderName)
- Specified by:
setFolderNamein interfaceI_FolderAccess
-
getFolderArchetypeNodeId
public String getFolderArchetypeNodeId()
- Specified by:
getFolderArchetypeNodeIdin interfaceI_FolderAccess
-
setFolderNArchetypeNodeId
public void setFolderNArchetypeNodeId(String folderArchetypeNodeId)
- Specified by:
setFolderNArchetypeNodeIdin interfaceI_FolderAccess
-
isFolderActive
public boolean isFolderActive()
- Specified by:
isFolderActivein interfaceI_FolderAccess
-
setIsFolderActive
public void setIsFolderActive(boolean folderActive)
- Specified by:
setIsFolderActivein interfaceI_FolderAccess
-
getFolderDetails
public com.nedap.archie.rm.datastructures.ItemStructure getFolderDetails()
- Specified by:
getFolderDetailsin interfaceI_FolderAccess
-
setFolderDetails
public void setFolderDetails(com.nedap.archie.rm.datastructures.ItemStructure folderDetails)
- Specified by:
setFolderDetailsin interfaceI_FolderAccess
-
setFolderSysTransaction
public void setFolderSysTransaction(Timestamp folderSysTransaction)
- Specified by:
setFolderSysTransactionin interfaceI_FolderAccess
-
getFolderSysTransaction
public Timestamp getFolderSysTransaction()
- Specified by:
getFolderSysTransactionin interfaceI_FolderAccess
-
getFolderSysPeriod
public AbstractMap.SimpleEntry<OffsetDateTime,OffsetDateTime> getFolderSysPeriod()
- Specified by:
getFolderSysPeriodin interfaceI_FolderAccess
-
setFolderSysPeriod
public void setFolderSysPeriod(AbstractMap.SimpleEntry<OffsetDateTime,OffsetDateTime> folderSysPeriod)
- Specified by:
setFolderSysPeriodin interfaceI_FolderAccess
-
getAudit
public UUID getAudit()
- Specified by:
getAuditin interfaceI_FolderAccess
-
setAudit
public void setAudit(UUID auditId)
- Specified by:
setAuditin interfaceI_FolderAccess
-
getDataAccess
public DataAccess getDataAccess()
- Specified by:
getDataAccessin interfaceI_DomainAccess
-
compareTo
public int compareTo(FolderHistoryAccess o)
- Specified by:
compareToin interfaceComparable<FolderHistoryAccess>
-
getVersionFromTimeStamp
public static int getVersionFromTimeStamp(I_DomainAccess domainAccess, UUID vFolderUid, Timestamp timeCommitted) throws InternalServerException
- Throws:
IllegalArgumentException- when no version in compliance with timestamp is availableInternalServerException- on problem with SQL statement or input
-
getInstanceForExistingFolder
public static I_FolderAccess getInstanceForExistingFolder(I_DomainAccess domainAccess, com.nedap.archie.rm.support.identification.ObjectVersionId folderId, Timestamp timestamp)
-
retrieveInstanceForExistingFolder
public static I_FolderAccess retrieveInstanceForExistingFolder(I_DomainAccess domainAccess, UUID folderId, Timestamp timestamp)
-
adminDeleteFolder
public void adminDeleteFolder()
Description copied from interface:I_FolderAccessInvoke physical deletion.- Specified by:
adminDeleteFolderin interfaceI_FolderAccess
-
-