2.17.2: 2011-06-17

net.sf.basedb.core
Interface AccessControlled

All Known Subinterfaces:
Annotatable, AnnotatableProxy, DiskConsumable, FileAttachable, FileStoreEnabled, Identifiable, Nameable, Ownable, Registered, Removable, Shareable, SystemItem
All Known Implementing Classes:
AnnotatedItem, Annotation, AnnotationSet, AnnotationType, AnnotationTypeCategory, AnyToAny, ArrayBatch, ArrayDesign, ArrayDesignBlock, ArrayDesignPlate, ArraySlide, BasicBatcher, BasicChildItem, BasicItem, BioAssay, BioAssaySet, BioMaterial, BioMaterialEvent, BioMaterialList, BioPlate, BioPlateEvent, BioPlateEventParticipant, BioPlateEventType, BioPlateType, BioSource, BioWell, ChangeHistory, ChildItem, Client, ClientDefaultSetting, Coloring, CommonItem, DataCube, DataCubeColumn, DataCubeExtraValue, DataCubeFilter, DataCubeLayer, DataFileType, Directory, DiskUsage, Experiment, ExtensionsControl, Extract, ExtraValue, ExtraValueType, FeatureBatcher, File, FileServer, FileSet, FileSetMember, FileType, Formula, GlobalDefaultSetting, Group, Hardware, HardwareType, Help, Hybridization, Image, ItemKey, Job, JobAgent, JobAgentSettings, Key, Label, LabeledExtract, MeasuredBioMaterial, Message, MimeType, NameablePluginAdaptor, News, OwnedItem, PermissionTemplate, Plate, PlateEvent, PlateEventType, PlateGeometry, PlateMapping, PlateType, Platform, PlatformFileType, PlatformVariant, PluginConfiguration, PluginDefinition, PluginType, Project, ProjectKey, Protocol, ProtocolType, Quantity, Quota, QuotaType, RawBioAssay, RawDataBatcher, ReporterBatcher, ReporterList, ReporterType, Role, RoleKey, Sample, Scan, Session, Setting, SharedItem, Software, SoftwareType, SpotImages, Transformation, Unit, User, UserClientSetting, UserDefaultSetting, VirtualDb, Well

public interface AccessControlled

This interface should be implemented by a class representing items which requires the logged in user to have permission to access them. Since all items in BASE should use access control, this interface should be implemented by all items.

The BasicItem which is the root superclass of all items provides an implementation that checks the role keys for access permission. Subclasses may override that implementation to also check for other things. For example, the OwnedItem class checks the item's owner against the logged in user.

Version:
2.0
Author:
Nicklas

Method Summary
 void checkPermission(Permission permission)
          Check if the logged in user has the desired permission on the item, otherwise throw an exception.
 Set<Permission> getPermissions()
          Get the logged in user's permissions on the item.
 boolean hasPermission(Permission permission)
          Check if the logged in user has the desired permission on the item.
 

Method Detail

hasPermission

boolean hasPermission(Permission permission)
Check if the logged in user has the desired permission on the item.

Parameters:
permission - The permission to check if the user has.
Returns:
TRUE if the user has the permission, FALSE otherwise

checkPermission

void checkPermission(Permission permission)
                     throws PermissionDeniedException
Check if the logged in user has the desired permission on the item, otherwise throw an exception.

Parameters:
permission - Permission the user should have.
Throws:
PermissionDeniedException - If the user doesn't have the requested permission

getPermissions

Set<Permission> getPermissions()
Get the logged in user's permissions on the item.


2.17.2: 2011-06-17