Package net.sf.basedb.core
Class ChangeHistory
java.lang.Object
net.sf.basedb.core.BasicItem
net.sf.basedb.core.ChangeHistory
- All Implemented Interfaces:
AccessControlled
,Identifiable
- Version:
- 2.13
- Author:
- Nicklas
- Last modified
- $Date: 2021-05-12 08:02:49 +0200 (Wed, 12 May 2021) $
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Holds information about a single transaction. -
Field Summary
Modifier and TypeFieldDescriptionstatic final Item
The type of item represented by this class.private boolean
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
deleteStrayEntries
(ProgressReporter progress) Delete all history entries that are linking to non-existing items.static ChangeHistory
Get aChangeHistory
item when you know the ID.Get some additional free-text information about the change.static ItemQuery<ChangeHistory>
getChangesBy
(Job job) Get all changes made by the specified job.static ItemQuery<ChangeHistory>
getChangesBy
(User user) Get all changes made by the specified user.static ItemQuery<ChangeHistory>
getChangesIn
(Session session) Get all changes made in the specified session.Get the type of change that was made.Load the client application that was used when the change was made.Get the ID of the client application that was used to make the change.(package private) ChangeHistoryDetailData
getData()
Get theBasicData
object that holds all data for this item.static ItemQuery<ChangeHistory>
getHistoryOf
(BasicItem item) Get the history for a given item.Load the item that was changed.int
Get the ID of the item that was changed.Get the type of the item that was changed.Load the job that was executing when the change was made.getJobId()
Get the ID of the job that was executing when the change was madegetName()
Get the name of the transaction that initiated the change.Get the new value of the property had immediately after this change.Get the old value of the property had before this change.Load the plug-in that made the change.Get the ID of the plug-in that was making the change.getProject
(DbControl dc) Load the project that was active when the change was made.Get the ID of the project that was active when the change was made.getSession
(DbControl dc) Load the session in which the change was made.int
Get the ID of the session in which the change was made.getTime()
Get the date and time the change was made.int
Get the ID of the transaction that initiated the change.getTransactionInfo
(DbControl dc, int transactionId) Load information about a single transaction.getType()
Get the type of item represented by the object.Load the user that made the change.int
Get the ID of the user that made the change.(package private) void
initPermissions
(int granted, int denied) WRITE permission and higher is always denied.Methods inherited from class net.sf.basedb.core.BasicItem
addAnnotatableParents, addUsingItems, addUsingItems, breakCircularReferences, checkBatchAnnotatableUsage, checkPermission, equals, getBasicData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getUsingItems, getVersion, hashCode, hasPermission, isDetached, isInDatabase, isUsed, onAfterCommit, onAfterInsert, onBeforeCommit, onRollback, setDbControl, setProjectDefaults, toString, validate
-
Field Details
-
TYPE
The type of item represented by this class.- See Also:
-
valuesPermissions
private boolean valuesPermissions
-
-
Constructor Details
-
ChangeHistory
ChangeHistory(ChangeHistoryDetailData data)
-
-
Method Details
-
getById
public static ChangeHistory getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException Get aChangeHistory
item when you know the ID.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access.id
- The ID of the item to load- Returns:
- The
ChangeHistory
item - Throws:
ItemNotFoundException
- If an item with the specified ID is not foundPermissionDeniedException
- If the logged in user doesn't havePermission.READ
permission to the itemBaseException
- If there is another error
-
getHistoryOf
Get the history for a given item.- Parameters:
item
- The item to get the history for- Throws:
InvalidUseOfNullException
- If the item is null
-
getChangesBy
Get all changes made by the specified user.- Parameters:
user
- A user object- Throws:
InvalidUseOfNullException
- If the user is null
-
getChangesBy
Get all changes made by the specified job.- Parameters:
job
- A job object- Throws:
InvalidUseOfNullException
- If the job is null
-
getChangesIn
Get all changes made in the specified session.- Parameters:
session
- A session object- Throws:
InvalidUseOfNullException
- If the session is null
-
getTransactionInfo
Load information about a single transaction.- Since:
- 3.19
-
deleteStrayEntries
Delete all history entries that are linking to non-existing items. This method is intended to be executed at regular intervals by a cleanup application.- Parameters:
progress
- An optional progress reporter- Since:
- 2.13
-
getData
ChangeHistoryDetailData getData()Description copied from class:BasicItem
Get theBasicData
object that holds all data for this item. -
getType
Description copied from interface:Identifiable
Get the type of item represented by the object. The returned value is one of the values defined in theItem
enumeration.- Returns:
- A value indicating the type of item
-
initPermissions
WRITE permission and higher is always denied. READ permission is granted based on role permissions.- Overrides:
initPermissions
in classBasicItem
- Parameters:
granted
- Permissions that have been granted by the subclassdenied
- Permissions that have been denied by the subclass- Throws:
BaseException
- If the permissions couldn't be initialised
-
getTime
Get the date and time the change was made. -
getName
Get the name of the transaction that initiated the change.- Since:
- 3.19
-
getTransactionId
public int getTransactionId()Get the ID of the transaction that initiated the change.- Since:
- 3.19
-
getChangeType
Get the type of change that was made. -
getItemId
public int getItemId()Get the ID of the item that was changed. -
getItemType
Get the type of the item that was changed. -
getItem
Load the item that was changed.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Returns:
- A BasicItem
- Throws:
ItemNotFoundException
- If the item no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the item
-
getChangeInfo
Get some additional free-text information about the change.- Returns:
- A string, or null if no information is available
-
getOldValue
Get the old value of the property had before this change.- Returns:
- The old value or null if not known or if the logged in user doesn't have permission to see it
- Since:
- 3.3
-
getNewValue
Get the new value of the property had immediately after this change.- Returns:
- The new value or null if not known or if the logged in user doesn't have permission to see it
- Since:
- 3.3
-
getUserId
public int getUserId()Get the ID of the user that made the change. -
getUser
Load the user that made the change.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Throws:
ItemNotFoundException
- If the user no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the other user
-
getSessionId
public int getSessionId()Get the ID of the session in which the change was made. -
getSession
Load the session in which the change was made.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Throws:
ItemNotFoundException
- If the session no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the session
-
getClientId
Get the ID of the client application that was used to make the change.- Returns:
- The ID or null if the client application is not known
-
getClient
Load the client application that was used when the change was made.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Returns:
- A Client object or null if it is not known which client that was used
- Throws:
ItemNotFoundException
- If the client application no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the client
-
getProjectId
Get the ID of the project that was active when the change was made.- Returns:
- The ID or null if no project was active
-
getProject
Load the project that was active when the change was made.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Returns:
- A Project object or null if no project was active
- Throws:
ItemNotFoundException
- If the client application no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the project
-
getPluginId
Get the ID of the plug-in that was making the change.- Returns:
- The ID or null if the change was not made by a plug-in
-
getPlugin
Load the plug-in that made the change.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Returns:
- A PluginDefinition object or null if the change was not made by a plug-in
- Throws:
ItemNotFoundException
- If the plug-in no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the plug-in
-
getJobId
Get the ID of the job that was executing when the change was made- Returns:
- The ID or null if the no job was executing
-
getJob
Load the job that was executing when the change was made.- Parameters:
dc
- A DbControl to use for database access, or null to use the same DbControl this history entry belongs to- Returns:
- A Job object or null if no job was executing when the change was made
- Throws:
ItemNotFoundException
- If the job no longer exists in the databasePermissionDeniedException
- If the logged in user doesn't have permission to access the job
-