Package net.sf.basedb.core
Class UserDefaultSetting
- java.lang.Object
-
- net.sf.basedb.core.BasicItem
-
- net.sf.basedb.core.Setting
-
- net.sf.basedb.core.UserDefaultSetting
-
- All Implemented Interfaces:
AccessControlled
,Identifiable
public class UserDefaultSetting extends Setting
This class is used to represent a setting valid for a specific user using any client application.- Version:
- 2.0
- Author:
- Nicklas
-
-
Field Summary
Fields Modifier and Type Field Description private static QueryRuntimeFilter
RUNTIME_FILTER
This filter will only return items if the logged in user has generic read permission to users.static Item
TYPE
The type of item represented by this class.-
Fields inherited from class net.sf.basedb.core.Setting
MAX_NAME_LENGTH, MAX_VALUE_LENGTH
-
-
Constructor Summary
Constructors Constructor Description UserDefaultSetting(UserDefaultSettingData data)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static UserDefaultSetting
getById(DbControl dc, int id)
Get aUserDefaultSetting
item when you know the ID.(package private) UserDefaultSettingData
getData()
Get theBasicData
object that holds all data for this item.static UserDefaultSetting
getNew(DbControl dc, User user, String name, String value)
Create a newUserDefaultSetting
item.static ItemQuery<UserDefaultSetting>
getQuery(User user)
Get a query configured to retrieve default settings for a user.Item
getType()
Get the type of item represented by the object.User
getUser()
Get the user this setting is valid for.(package private) void
initPermissions(int granted, int denied)
READ permission is granted if the logged in user is the owner of this setting.(package private) void
setUser(User user)
Set the user this setting is valid for.-
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 Detail
-
TYPE
public static final Item TYPE
The type of item represented by this class.- See Also:
Item.USERDEFAULTSETTING
,getType()
-
RUNTIME_FILTER
private static final QueryRuntimeFilter RUNTIME_FILTER
This filter will only return items if the logged in user has generic read permission to users.
-
-
Constructor Detail
-
UserDefaultSetting
UserDefaultSetting(UserDefaultSettingData data)
-
-
Method Detail
-
getNew
public static UserDefaultSetting getNew(DbControl dc, User user, String name, String value) throws BaseException
Create a newUserDefaultSetting
item.- Parameters:
dc
- TheDbControl
which will be used for permission checking and database accessuser
- TheUser
which this should be a default setting forname
- The name of the settingvalue
- The value of the setting- Returns:
- The new
UserDefaultSetting
item - Throws:
BaseException
- If there is an error- See Also:
User.newDefaultSetting(String,String)
-
getById
public static UserDefaultSetting getById(DbControl dc, int id) throws ItemNotFoundException, PermissionDeniedException, BaseException
Get aUserDefaultSetting
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
UserDefaultSetting
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<UserDefaultSetting> getQuery(User user)
Get a query configured to retrieve default settings for a user.- Parameters:
user
- The user to retreive settings for, null is allowed if the logged in user has generic READ permission for users in which case all settings will be returned- Returns:
- An
ItemQuery
object - See Also:
User.getDefaultSettings()
-
getData
UserDefaultSettingData getData()
Description copied from class:BasicItem
Get theBasicData
object that holds all data for this item.
-
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
-
initPermissions
void initPermissions(int granted, int denied) throws BaseException
READ permission is granted if the logged in user is the owner of this setting. WRITE, CREATE and DELETE permissions are granted if the logged in user is the owner and not is a multiuser account. WRITE, DELETE and CREATE permissions are granted if the logged in user have generic WRITE permission for users.- Overrides:
initPermissions
in classSetting
- 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
-
getUser
public User getUser() throws PermissionDeniedException, BaseException
Get the user this setting is valid for.- Returns:
- The
User
item - Throws:
PermissionDeniedException
- If the logged in user doesn't havePermission.READ
permissionBaseException
- If there is another error
-
setUser
void setUser(User user) throws PermissionDeniedException, InvalidDataException
Set the user this setting is valid for. Can only be set on a new item.- Throws:
InvalidDataException
- If the user is nullPermissionDeniedException
-
-