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
public class PermissionTemplate extends CommonItem
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 Modifier and Type Field Description static Item
TYPE
The type of item represented by this class.-
Fields inherited from interface net.sf.basedb.core.Nameable
MAX_DESCRIPTION_LENGTH, MAX_NAME_LENGTH
-
-
Constructor Summary
Constructors Constructor Description PermissionTemplate(PermissionTemplateData data)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static PermissionTemplate
getById(DbControl dc, int id)
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
getNew(DbControl dc)
Create a new permission template item.ItemQuery<Project>
getProjects()
Get a query that returns all projects that use this permission template.static ItemQuery<PermissionTemplate>
getQuery()
Get a query that returns permission templates.Item
getType()
Get the type of item represented by the object.Set<ItemProxy>
getUsingItems()
Get all:Project
:s using this permission templateboolean
isUsed()
Check if: AProject
uses this template-
Methods 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 Detail
-
TYPE
public static final Item TYPE
The type of item represented by this class.- See Also:
Item.PERMISSIONTEMPLATE
,getType()
-
-
Constructor Detail
-
PermissionTemplate
PermissionTemplate(PermissionTemplateData data)
-
-
Method Detail
-
getNew
public static PermissionTemplate getNew(DbControl dc) throws BaseException
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
public static ItemQuery<PermissionTemplate> 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
public 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
-
isUsed
public boolean isUsed() throws BaseException
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:
BasicItem.getUsingItems()
- A
-
getUsingItems
public Set<ItemProxy> 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:
BasicItem.addUsingItems(Set, Item, org.hibernate.query.Query)
-
-