com.emarsys.ecommon.prefs.config.backend
Class NamedConfigurationBackend

java.lang.Object
  extended by com.emarsys.ecommon.prefs.config.backend.NamedConfigurationBackend
All Implemented Interfaces:
ConfigurationBackend

public class NamedConfigurationBackend
extends java.lang.Object
implements ConfigurationBackend

A more verbose version of ConfigurationBackend that has an associated name.

Author:
Michael "kULO" Kulovits

Field Summary
protected  java.lang.String name
           
protected  ConfigurationBackend settings
           
 
Constructor Summary
NamedConfigurationBackend(java.lang.String name, ConfigurationBackend settings)
           
 
Method Summary
 ISetting get(java.lang.String name)
          Retrieves the ISetting with the passed name.
 java.lang.String getName()
           
 java.util.List<ISetting> getSettings()
           Retrieves all ISettings from this backend.
 void set(ISetting setting)
          Sets the passed setting which must not be null in this configuration backend, if a setting with the given name is already present it will be overridden.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected final java.lang.String name

settings

protected final ConfigurationBackend settings
Constructor Detail

NamedConfigurationBackend

public NamedConfigurationBackend(java.lang.String name,
                                 ConfigurationBackend settings)
Parameters:
name -
Method Detail

get

public ISetting get(java.lang.String name)
             throws java.lang.IllegalArgumentException
Description copied from interface: ConfigurationBackend
Retrieves the ISetting with the passed name.

Specified by:
get in interface ConfigurationBackend
Parameters:
name -
Returns:
Throws:
java.lang.IllegalArgumentException
See Also:
com.emarsys.core.setting.backend.ConfigurationBackend#get(java.lang.String)

set

public void set(ISetting setting)
         throws java.lang.IllegalArgumentException
Description copied from interface: ConfigurationBackend
Sets the passed setting which must not be null in this configuration backend, if a setting with the given name is already present it will be overridden. The next call to ConfigurationBackend.get(String) with the passed setting's name will return the passed setting.

Specified by:
set in interface ConfigurationBackend
Throws:
java.lang.IllegalArgumentException - - if the passed setting, its name or value is null.
See Also:
com.emarsys.core.setting.backend.ConfigurationBackend#set(ISetting)

getSettings

public java.util.List<ISetting> getSettings()
Description copied from interface: ConfigurationBackend

Retrieves all ISettings from this backend.

What exactly "all" means in the context of the concrete ConfigurationBackend is up to the implementation. For instance the List may or may not contain default values or fallbacked ISettings or might even return a cached list.

The only requirement for this method is to be logically in synch with ConfigurationBackend.get(String) and ConfigurationBackend.set(ISetting). Thus if a Setting is inserted/updated/deleted and nothing is changed in the meantime the next call to ConfigurationBackend.getSettings() has to reflect the changes made.

Specified by:
getSettings in interface ConfigurationBackend
Returns:
always a valid List of ISettings, never null.
See Also:
com.emarsys.core.setting.backend.ConfigurationBackend#getSettings()

getName

public java.lang.String getName()
Returns:
the name

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()


Copyright © 2010 emarsys AG. All Rights Reserved.