2.17.2: 2011-06-17

net.sf.basedb.core
Class Setting<D extends SettingData>

java.lang.Object
  extended by net.sf.basedb.core.BasicItem<D>
      extended by net.sf.basedb.core.Setting<D>
All Implemented Interfaces:
AccessControlled, Identifiable
Direct Known Subclasses:
ClientDefaultSetting, GlobalDefaultSetting, UserClientSetting, UserDefaultSetting

public abstract class Setting<D extends SettingData>
extends BasicItem<D>

This is the base class for all setting items. There are four types of settings:

Version:
2.0
Author:
Nicklas

Field Summary
static int MAX_NAME_LENGTH
          The maximum length of the name that can be stored in the database.
static int MAX_VALUE_LENGTH
          The maximum length of the value that can be stored in the database.
static Item TYPE
          The type of item represented by this class.
 
Constructor Summary
Setting(D settingData)
           
 
Method Summary
static Setting getById(DbControl dc, int id)
          Get a Setting item when you know the ID.
 String getName()
          Get the name of this setting.
 String getValue()
          Get the value of this setting.
(package private)  void initPermissions(int granted, int denied)
          Add permissions granted to Item.SETTING.
 void setName(String name)
          Set the name for this setting.
 void setValue(String value)
          Set the value for this setting.
 
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
 
Methods inherited from interface net.sf.basedb.core.Identifiable
getType
 

Field Detail

TYPE

public static final Item TYPE
The type of item represented by this class.

See Also:
Item.SETTING, Identifiable.getType()

MAX_NAME_LENGTH

public static final int MAX_NAME_LENGTH
The maximum length of the name that can be stored in the database. Check the length against this value before calling the setName(String) method to avoid exceptions.

See Also:
Constant Field Values

MAX_VALUE_LENGTH

public static final int MAX_VALUE_LENGTH
The maximum length of the value that can be stored in the database. Check the length against this value before calling the setValue(String) method to avoid exceptions.

See Also:
Constant Field Values
Constructor Detail

Setting

Setting(D settingData)
Method Detail

getById

public static Setting getById(DbControl dc,
                              int id)
                       throws ItemNotFoundException,
                              PermissionDeniedException,
                              BaseException
Get a Setting 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 Setting 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

initPermissions

void initPermissions(int granted,
                     int denied)
               throws BaseException
Add permissions granted to Item.SETTING.

Overrides:
initPermissions in class BasicItem<D extends SettingData>
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

getName

public String getName()
Get the name of this setting.

Returns:
A String object.

setName

public void setName(String name)
             throws PermissionDeniedException,
                    InvalidDataException
Set the name for this setting.

Parameters:
name - Name to be set.
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission
InvalidDataException - If the new name is longer than MAX_NAME_LENGTH

getValue

public String getValue()
Get the value of this setting.

Returns:
A String object.

setValue

public void setValue(String value)
              throws PermissionDeniedException,
                     InvalidDataException
Set the value for this setting.

Parameters:
value - The string value to be set. Can not be longer then 65535
Throws:
PermissionDeniedException - If the logged in user doesn't have write permission
InvalidDataException - If the new value is longer than MAX_VALUE_LENGTH

2.17.2: 2011-06-17