|
Jitsi: the OpenSource Java VoIP and Instant Messaging client. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.java.sip.communicator.impl.configuration.ConfigurationServiceImpl
public class ConfigurationServiceImpl
A straightforward implementation of the ConfigurationService using an XML or a .properties file for storing properties. Currently only String properties are meaningfully saved (we should probably consider how and whether we should take care of the rest).
| Field Summary |
|---|
| Fields inherited from interface net.java.sip.communicator.service.configuration.ConfigurationService |
|---|
PNAME_CONFIGURATION_FILE_NAME, PNAME_SC_HOME_DIR_LOCATION, PNAME_SC_HOME_DIR_NAME |
| Constructor Summary | |
|---|---|
ConfigurationServiceImpl()
|
|
| Method Summary | |
|---|---|
void |
addPropertyChangeListener(PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list. |
void |
addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list for a specific property. |
void |
addVetoableChangeListener(ConfigVetoableChangeListener listener)
Adds a VetoableChangeListener to the listener list. |
void |
addVetoableChangeListener(String propertyName,
ConfigVetoableChangeListener listener)
Adds a VetoableChangeListener to the listener list for a specific property. |
List<String> |
getAllPropertyNames()
Returns a java.util.List of Strings containing all property names. |
boolean |
getBoolean(String propertyName,
boolean defaultValue)
Gets the value of a specific property as a boolean. |
int |
getInt(String propertyName,
int defaultValue)
Gets the value of a specific property as a signed decimal integer. |
long |
getLong(String propertyName,
long defaultValue)
Gets the value of a specific property as a signed decimal long integer. |
Object |
getProperty(String propertyName)
Returns the value of the property with the specified name or null if no such property exists. |
List<String> |
getPropertyNamesByPrefix(String prefix,
boolean exactPrefixMatch)
Returns a java.util.List of Strings containing the all property names that have the specified prefix. |
List<String> |
getPropertyNamesBySuffix(String suffix)
Returns a List of Strings containing the property names that have the specified suffix. |
String |
getScHomeDirLocation()
Returns the location of the directory where SIP Communicator is to store user specific data such as configuration files, message and call history as well as is bundle repository. |
String |
getScHomeDirName()
Returns the name of the directory where SIP Communicator is to store user specific data such as configuration files, message and call history as well as is bundle repository. |
String |
getString(String propertyName)
Returns the String value of the specified property (minus all encompasssing whitespaces)and null in case no property value was mapped against the specified propertyName, or in case the returned property string had zero length or contained whitespaces only. |
String |
getString(String propertyName,
String defaultValue)
Returns the String value of the specified property and null in case no property value was mapped against the specified propertyName, or in case the returned property string had zero length or contained whitespaces only. |
void |
purgeStoredConfiguration()
Deletes the configuration file currently used by this implementation. |
void |
reloadConfiguration()
Deletes the current configuration and reloads it from the configuration file. |
void |
removeProperty(String propertyName)
Removes the property with the specified name. |
void |
removePropertyChangeListener(PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list. |
void |
removePropertyChangeListener(String propertyName,
PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list for a specific property. |
void |
removeVetoableChangeListener(ConfigVetoableChangeListener listener)
Removes a VetoableChangeListener from the listener list. |
void |
removeVetoableChangeListener(String propertyName,
ConfigVetoableChangeListener listener)
Removes a VetoableChangeListener from the listener list for a specific property. |
void |
setProperties(Map<String,Object> properties)
Sets a set of specific properties to specific values as a batch operation meaning that first VetoableChangeListeners are asked to
approve the modifications of the specified properties to the specified
values, then the modifications are performed if no complaints have been
raised in the form of PropetyVetoException and finally
PropertyChangeListeners are notified about the changes of
each of the specified properties. |
void |
setProperty(String propertyName,
Object property)
Sets the property with the specified name to the specified value. |
void |
setProperty(String propertyName,
Object property,
boolean isSystem)
Sets the property with the specified name to the specified. |
(package private) void |
start(org.osgi.framework.BundleContext bc)
Initializes the configuration service impl and makes it load an initial configuration from the conf file. |
(package private) void |
stop()
Called on service stop. |
void |
storeConfiguration()
Store the current set of properties back to the configuration file. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ConfigurationServiceImpl()
| Method Detail |
|---|
public void setProperty(String propertyName,
Object property)
setProperty in interface ConfigurationServicepropertyName - Stringproperty - Object
public void setProperty(String propertyName,
Object property,
boolean isSystem)
setProperty in interface ConfigurationServicepropertyName - the name of the property to change.property - the new value of the specified property.isSystem - specifies whether or not the property being is a System
property and should be resolved against the system
property set. If the property has previously been
specified as system then this value is internally forced
to true.public void setProperties(Map<String,Object> properties)
ConfigurationServiceVetoableChangeListeners are asked to
approve the modifications of the specified properties to the specified
values, then the modifications are performed if no complaints have been
raised in the form of PropetyVetoException and finally
PropertyChangeListeners are notified about the changes of
each of the specified properties. The batch operations allows the
ConfigurationService implementations to optimize, for
example, the saving of the configuration which in this case can be
performed only once for the setting of multiple properties.
setProperties in interface ConfigurationServiceproperties - a Map of property names to their new values to be
setpublic void removeProperty(String propertyName)
removeProperty in interface ConfigurationServicepropertyName - the name of the property to change.public Object getProperty(String propertyName)
getProperty in interface ConfigurationServicepropertyName - the name of the property that is being queried.
public List<String> getAllPropertyNames()
getAllPropertyNames in interface ConfigurationService
public List<String> getPropertyNamesByPrefix(String prefix,
boolean exactPrefixMatch)
Example:
Imagine a configuration service instance containing 2 properties only:
net.java.sip.communicator.PROP1=value1
net.java.sip.communicator.service.protocol.PROP1=value2
A call to this method with a prefix="net.java.sip.communicator" and exactPrefixMatch=true would only return the first property - net.java.sip.communicator.PROP1, whereas the same call with exactPrefixMatch=false would return both properties as the second prefix includes the requested prefix string.
getPropertyNamesByPrefix in interface ConfigurationServiceprefix - a String containing the prefix (the non dotted non-caps
part of a property name) that we're looking for.exactPrefixMatch - a boolean indicating whether the returned
property names should all have a prefix that is an exact match of the
the prefix param or whether properties with prefixes that
contain it but are longer than it are also accepted.
public List<String> getPropertyNamesBySuffix(String suffix)
For example, imagine a configuration service instance containing two properties only:
net.java.sip.communicator.PROP1=value1
net.java.sip.communicator.service.protocol.PROP1=value2
A call to this method with suffix equal to "PROP1" will return both properties, whereas the call with suffix equal to "communicator.PROP1" or "PROP2" will return an empty List. Thus, if the suffix argument contains a dot, nothing will be found.
getPropertyNamesBySuffix in interface ConfigurationServicesuffix - the suffix for the property names to be returned
public void addPropertyChangeListener(PropertyChangeListener listener)
addPropertyChangeListener in interface ConfigurationServicelistener - the PropertyChangeListener to be addedpublic void removePropertyChangeListener(PropertyChangeListener listener)
removePropertyChangeListener in interface ConfigurationServicelistener - the PropertyChangeListener to be removed
public void addPropertyChangeListener(String propertyName,
PropertyChangeListener listener)
addPropertyChangeListener in interface ConfigurationServicepropertyName - one of the property names listed abovelistener - the PropertyChangeListener to be added
public void removePropertyChangeListener(String propertyName,
PropertyChangeListener listener)
removePropertyChangeListener in interface ConfigurationServicepropertyName - a valid property namelistener - the PropertyChangeListener to be removedpublic void addVetoableChangeListener(ConfigVetoableChangeListener listener)
addVetoableChangeListener in interface ConfigurationServicelistener - the VetoableChangeListener to be addedpublic void removeVetoableChangeListener(ConfigVetoableChangeListener listener)
removeVetoableChangeListener in interface ConfigurationServicelistener - the VetoableChangeListener to be removed
public void addVetoableChangeListener(String propertyName,
ConfigVetoableChangeListener listener)
addVetoableChangeListener in interface ConfigurationServicepropertyName - one of the property names listed abovelistener - the VetoableChangeListener to be added
public void removeVetoableChangeListener(String propertyName,
ConfigVetoableChangeListener listener)
removeVetoableChangeListener in interface ConfigurationServicepropertyName - a valid property namelistener - the VetoableChangeListener to be removedvoid stop()
void start(org.osgi.framework.BundleContext bc)
bc - the BundleContext provided by the OSGi framework
public void reloadConfiguration()
throws IOException,
XMLException
ConfigurationServiceIn the last case the file is copied to the sip-communicator configuration directory right after being extracted from the classpath location.
reloadConfiguration in interface ConfigurationServiceIOException - in case reading the configuration failes
XMLException - in case parsing the configuration file has failed
public void storeConfiguration()
throws IOException
ConfigurationServiceIn the last case the file is copied to the sip-communicator configuration directory right after being extracted from the classpath location.
storeConfiguration in interface ConfigurationServiceIOException - in case storing the configuration failed.public String getScHomeDirLocation()
getScHomeDirLocation in interface ConfigurationServicepublic String getScHomeDirName()
getScHomeDirName in interface ConfigurationServicepublic String getString(String propertyName)
getString in interface ConfigurationServicepropertyName - the name of the property that is being queried.
public String getString(String propertyName,
String defaultValue)
getString in interface ConfigurationServicepropertyName - the name of the property that is being queried.defaultValue - the value to be returned if the specified property
name is not associated with a value in this
ConfigurationService
defaultValue in case there was no value mapped against
the specified propertyName, or the returned string had zero
length or contained whitespaces only.
public boolean getBoolean(String propertyName,
boolean defaultValue)
ConfigurationServiceConfigurationService, the string representation of the value
is parsed into a boolean according to the rules of
Boolean.parseBoolean(String) . Otherwise,
defaultValue is returned.
getBoolean in interface ConfigurationServicepropertyName - the name of the property to get the value of as a booleandefaultValue - the value to be returned if the specified property name is not
associated with a value in this
ConfigurationService
ConfigurationService as a boolean;
defaultValue if the property with the specified name
is not associated with a value in this
ConfigurationService
public int getInt(String propertyName,
int defaultValue)
Integer.parseInt(String) . If parsing the value as a signed
decimal integer fails or there is no value associated with the specified
property name, defaultValue is returned.
getInt in interface ConfigurationServicepropertyName - the name of the property to get the value of as a
signed decimal integerdefaultValue - the value to be returned if parsing the value of the
specified property name as a signed decimal integer fails or there is no
value associated with the specified property name in this
ConfigurationService
public long getLong(String propertyName,
long defaultValue)
Long.parseLong(String) . If parsing the value as a signed
decimal long integer fails or there is no value associated with the
specified property name, defaultValue is returned.
getLong in interface ConfigurationServicepropertyName - the name of the property to get the value of as a
signed decimal long integerdefaultValue - the value to be returned if parsing the value of the
specified property name as a signed decimal long integer fails or there
is no value associated with the specified property name in this
ConfigurationService
public void purgeStoredConfiguration()
purgeStoredConfiguration in interface ConfigurationService
|
Jitsi: the OpenSource Java VoIP and Instant Messaging client. | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||