Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.configuration
Class PropertyConfigurationStore

java.lang.Object
  extended by net.java.sip.communicator.impl.configuration.HashtableConfigurationStore<Properties>
      extended by net.java.sip.communicator.impl.configuration.PropertyConfigurationStore
All Implemented Interfaces:
ConfigurationStore

public class PropertyConfigurationStore
extends HashtableConfigurationStore<Properties>

Implements a ConfigurationStore which stores property name-value associations in a Properties instance and supports its serialization format for the configuration file of ConfigurationServiceImpl. Because of the Properties backend which can associate names only String values, instances of PropertyConfigurationStore convert property values to String using Object#toString().

Author:
Lyubomir Marinov

Field Summary
 
Fields inherited from class net.java.sip.communicator.impl.configuration.HashtableConfigurationStore
properties
 
Constructor Summary
PropertyConfigurationStore()
          Initializes a new PropertyConfigurationStore instance.
 
Method Summary
 void reloadConfiguration(File file)
          Implements ConfigurationStore.reloadConfiguration(File).
 void setNonSystemProperty(String name, Object value)
          Overrides HashtableConfigurationStore.setNonSystemProperty(String, Object).
 void storeConfiguration(OutputStream out)
          Implements ConfigurationStore.storeConfiguration(OutputStream).
 
Methods inherited from class net.java.sip.communicator.impl.configuration.HashtableConfigurationStore
getProperty, getPropertyNames, isSystemProperty, removeProperty, setSystemProperty
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyConfigurationStore

public PropertyConfigurationStore()
Initializes a new PropertyConfigurationStore instance.

Method Detail

reloadConfiguration

public void reloadConfiguration(File file)
                         throws IOException
Implements ConfigurationStore.reloadConfiguration(File). Removes all property name-value associations currently present in this ConfigurationStore and deserializes new property name-value associations from a specific File which presumably is in the format represented by this instance.

Parameters:
file - the File to be read and to deserialize new property name-value associations from into this instance
Throws:
IOException - if there is an input error while reading from the specified file
See Also:
ConfigurationStore.reloadConfiguration(File)

setNonSystemProperty

public void setNonSystemProperty(String name,
                                 Object value)
Overrides HashtableConfigurationStore.setNonSystemProperty(String, Object). As the backend of this instance is a Properties instance, it can only store String values and the specified value to be associated with the specified property name is converted to a String.

Specified by:
setNonSystemProperty in interface ConfigurationStore
Overrides:
setNonSystemProperty in class HashtableConfigurationStore<Properties>
Parameters:
name - the name of the non-system property to be set to the specified value in this ConfigurationStore
value - the value to be assigned to the non-system property with the specified name in this ConfigurationStore
See Also:
ConfigurationStore.setNonSystemProperty(String, Object)

storeConfiguration

public void storeConfiguration(OutputStream out)
                        throws IOException
Implements ConfigurationStore.storeConfiguration(OutputStream). Stores/serializes the property name-value associations currently present in this ConfigurationStore into a specific OutputStream in the format represented by this instance.

Parameters:
out - the OutputStream to receive the serialized form of the property name-value associations currently present in this ConfigurationStore
Throws:
IOException - if there is an output error while storing the properties managed by this ConfigurationStore into the specified file
See Also:
ConfigurationStore.storeConfiguration(OutputStream)

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.