2.17.2: 2011-06-17

net.sf.basedb.core
Class PermissionTemplate

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<D>
      extended by net.sf.basedb.core.OwnedItem<D>
          extended by net.sf.basedb.core.SharedItem<D>
              extended by net.sf.basedb.core.CommonItem<PermissionTemplateData>
                  extended by net.sf.basedb.core.PermissionTemplate
All Implemented Interfaces:
AccessControlled, Identifiable, Nameable, Ownable, Removable, Shareable

public class PermissionTemplate
extends CommonItem<PermissionTemplateData>

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: 2010-06-22 14:51:41 +0200 (Tue, 22 Jun 2010) $

Field Summary
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
PermissionTemplate(PermissionTemplateData data)
           
 
Method Summary
static PermissionTemplate getById(DbControl dc, int id)
          Get a permission template item when you know the id.
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 template
 boolean isUsed()
          Check if: A Project uses this template
 
Methods inherited from class net.sf.basedb.core.CommonItem
getDescription, getName, isRemoved, setDescription, setName, setRemoved, toTransferable
 
Methods inherited from class net.sf.basedb.core.SharedItem
getItemKey, getProjectKey, initPermissions, isShared, onBeforeCommit, setItemKey, setProjectKey, toTransferable
 
Methods inherited from class net.sf.basedb.core.OwnedItem
getOwner, isOwner, setOwner, takeOwnership, toTransferable
 
Methods inherited from class net.sf.basedb.core.BasicItem
addUsingItems, addUsingItems, checkPermission, equals, getData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getVersion, hashCode, hasPermission, isDetached, isInDatabase, onAfterCommit, onAfterInsert, onRollback, setDbControl, setProjectDefaults, toString, toTransferable, validate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface net.sf.basedb.core.Identifiable
getId, getVersion
 
Methods inherited from interface net.sf.basedb.core.AccessControlled
checkPermission, getPermissions, hasPermission
 
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 - The DbControl 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 - The DbControl 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 found
PermissionDeniedException - If the logged in user doesn't have Permission.READ permission to the item
BaseException - If there is another error

getQuery

public static ItemQuery<PermissionTemplate> getQuery()
Get a query that returns permission templates.

Returns:
An ItemQuery object

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 the Item enumeration.

Returns:
A value indicating the type of item

isUsed

public boolean isUsed()
               throws BaseException
Check if:

Overrides:
isUsed in class BasicItem<PermissionTemplateData>
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()

getUsingItems

public Set<ItemProxy> getUsingItems()
Get all:

getProjects

public ItemQuery<Project> getProjects()
Get a query that returns all projects that use this permission template.


2.17.2: 2011-06-17