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

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

public final class NullConfigurationBackend
extends java.lang.Object
implements ConfigurationBackend

A ConfigurationBackend that a priori contains no ISetting and does not support insertions.

Author:
Michael "kULO" Kulovits

Field Summary
static ConfigurationBackend INSTANCE
           
 
Method Summary
 ISetting get(java.lang.String name)
          Retrieves the ISetting with the passed name.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

INSTANCE

public static final ConfigurationBackend INSTANCE
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
Returns:
the ISetting with the passed name or null if not present.
Throws:
java.lang.IllegalArgumentException - - if the passed name is null.
See Also:
com.emarsys.core.setting.backend.ConfigurationBackend#get(java.lang.String)

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()

set

public void set(ISetting setting)
         throws java.lang.UnsupportedOperationException
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.UnsupportedOperationException
See Also:
com.emarsys.core.setting.backend.ConfigurationBackend#set(ISetting)


Copyright © 2010 emarsys AG. All Rights Reserved.