Package net.sf.basedb.core
Class PermissionTemplate
java.lang.Object
net.sf.basedb.core.BasicItem
net.sf.basedb.core.OwnedItem
net.sf.basedb.core.SharedItem
net.sf.basedb.core.CommonItem
net.sf.basedb.core.PermissionTemplate
- All Implemented Interfaces:
AccessControlled
,Identifiable
,Nameable
,Ownable
,Removable
,Shareable
A permission template with permissions to users, groups and
projects. The template can be assigned to a project (
Project.setPermissionTemplate(PermissionTemplate)
) to make new
items be shared with the permissions from the template when the
project is the active project.- Since:
- 2.16
- Author:
- Nicklas
- Last modified
- $Date: 2017-05-22 14:35:27 +0200 (må, 22 maj 2017) $
-
Field Summary
Fields inherited from interface net.sf.basedb.core.Nameable
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic PermissionTemplate
Get a permission template item when you know the id.(package private) PermissionTemplateData
getData()
Get theBasicData
object that holds all data for this item.static PermissionTemplate
Create a new permission template item.Get a query that returns all projects that use this permission template.static ItemQuery<PermissionTemplate>
getQuery()
Get a query that returns permission templates.getType()
Get the type of item represented by the object.Get all:Project
:s using this permission templateboolean
isUsed()
Check if: AProject
uses this templateMethods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, getRemovedBy, isRemoved, setDescription, setName, setRemoved
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, onBeforeCommit, setItemKey, setProjectKey
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership
Methods inherited from class net.sf.basedb.core.BasicItem
addAnnotatableParents, addUsingItems, addUsingItems, breakCircularReferences, checkBatchAnnotatableUsage, checkPermission, equals, getBasicData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, validate
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.sf.basedb.core.AccessControlled
checkPermission, getPermissions, hasPermission
Methods inherited from interface net.sf.basedb.core.Identifiable
getId, getVersion
Methods inherited from interface net.sf.basedb.core.Ownable
getOwner, isOwner, setOwner, takeOwnership
-
Field Details
-
TYPE
The type of item represented by this class.- See Also:
-
-
Constructor Details
-
PermissionTemplate
PermissionTemplate(PermissionTemplateData data)
-
-
Method Details
-
getNew
Create a new permission template item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database access- Returns:
- The new
PermissionTemplate
item - Throws:
BaseException
- If there is an error
-
getById
public static PermissionTemplate getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException Get a permission template 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
PermissionTemplate
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
-
getQuery
Get a query that returns permission templates.- Returns:
- An
ItemQuery
object
-
getData
PermissionTemplateData getData()Description copied from class:BasicItem
Get theBasicData
object that holds all data for this item.- Overrides:
getData
in classCommonItem
-
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
-
isUsed
Check if:- A
Project
uses this template
- Overrides:
isUsed
in classBasicItem
- Returns:
- TRUE if this item is used, FALSE otherwise
- Throws:
BaseException
- If not able to tell if item is used or not.- See Also:
- A
-
getUsingItems
Get all:Project
:s using this permission template
- Overrides:
getUsingItems
in classBasicItem
- Returns:
- A set containing proxies for the items, or an empty set if no items are using this item
- See Also:
-
getProjects
Get a query that returns all projects that use this permission template.
-