2.17.2: 2011-06-17

net.sf.basedb.core
Class UserDefaultSetting

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<D>
      extended by net.sf.basedb.core.Setting<UserDefaultSettingData>
          extended by net.sf.basedb.core.UserDefaultSetting
All Implemented Interfaces:
AccessControlled, Identifiable

public class UserDefaultSetting
extends Setting<UserDefaultSettingData>

This class is used to represent a setting valid for a specific user using any client application.

Version:
2.0
Author:
Nicklas

Field Summary
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
UserDefaultSetting(UserDefaultSettingData data)
           
 
Method Summary
static UserDefaultSetting getById(DbControl dc, int id)
          Get a UserDefaultSetting item when you know the ID.
static UserDefaultSetting getNew(DbControl dc, User user, String name, String value)
          Create a new UserDefaultSetting 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.Setting
getName, getValue, setName, setValue
 
Methods inherited from class net.sf.basedb.core.BasicItem
addUsingItems, addUsingItems, checkPermission, equals, getData, getDbControl, getId, getPermissions, getPluginPermissions, getSessionControl, getUsingItems, getVersion, hashCode, hasPermission, isDetached, isInDatabase, isUsed, onAfterCommit, onAfterInsert, onBeforeCommit, onRollback, setDbControl, setProjectDefaults, toString, toTransferable, validate
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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 new UserDefaultSetting item.

Parameters:
dc - The DbControl which will be used for permission checking and database access
user - The User which this should be a default setting for
name - The name of the setting
value - 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 a UserDefaultSetting 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 UserDefaultSetting 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<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()

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

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 class Setting<UserDefaultSettingData>
Parameters:
granted - Permissions that have been granted by the subclass
denied - 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 have Permission.READ permission
BaseException - 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 null
PermissionDeniedException

2.17.2: 2011-06-17