2005/5/9

     
 

class Properties

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::util::Properties Class Reference

#include <Properties.h>

Inheritance diagram for acdk::util::Properties:

acdk::util::HashMap acdk::io::Serializable acdk::lang::Cloneable acdk::util::AbstractMap acdk::lang::Cloneable acdk::io::Serializable acdk::lang::Object acdk::util::Map acdk::lang::ObjectBase acdk::lang::dmi::StdDispatch acdk::make::TaskCfgFile List of all members.

Detailed Description

API: Java with extension<br/>.

Author:
Roger Rene Kommer (mailto:kommer@artefaktur.com)
Version:
Revision
1.24
Date:
Date
2005/04/09 19:26:57


Public Member Functions

 Properties (IN(RProperties) def=Nil)
RString getProperty (IN(RString) key)
 see RString getProperty(IN(RString) key, IN(RString) defaultValue, bool withDefaults = true);

RString getProperty (IN(RString) key, IN(RString) defaultValue, bool withDefaults=true)
 retrieve a property as String

RMap getMapProperty (IN(RString) keyStart, bool withDefaults=true)
 ACDK extension return a list of properties as map If keyStart is "my.prop" and the properties contains the values my.prop.a=A my.prop.b=B my.prop.c=C this method returns a map a => A b => B c => C.

void setPropertyMap (IN(RString) keyStart, IN(RMap) map)
 set the map of value/keys in current Property Before inserting all entries with starting keyStart + "." will be deleted

RStringArray getArrayProperty (IN(RString) keyStart, int start=0, bool withDefaults=true)
 ADCK extension return a list of property values a array if keyStart is "my.prop" and start = 1 (default is 0) and the properties contains following values: my.prop.1=A my.prop.2=C my.prop.3=B my.prop.5=X this method returns a string array containing "A", "C", "B" if no element was found returns an empty array.

void setArrayProperty (IN(RString) keyStart, IN(RStringArray) values, int start=0)
 set the array of string in the current properties map Before inserting all entries with starting keyStart + "." will be deleted

RString eval (IN(RString) expr, bool recursive=false)
 this method replaces with corresponding values in this properties.

void list (IN(acdk::io::RPrintWriter) out, bool withDefaults=true)
 writes the elements into the printwriter

void load (IN(acdk::io::RReader) in)
 Load a properties file using java literal decoding.

RIterator propertyNames (bool withDefaults=true)
 get a iterator for all keys of this properties

RObject setProperty (IN(RString) key, IN(RString) value)
 set the property value

void store (IN(acdk::io::RWriter) out, IN(RString) header, bool withDefaults=true)
RProperties defaults ()
void setDefaults (IN(RProperties) defaults)
void mergeProperties (IN(RProperties) props)
 merge existant properties with new properties.

void addPropertyChangeListener (IN(RPropertiesChangeListener) listener)
 add a new listener

void removePropertyChangeListener (IN(RPropertiesChangeListener) listener)
 remove a previous added listener

virtual RObject clone ()
 Interface from cloneable.

virtual RObject clone (sys::Allocator *alloc)

Static Public Member Functions

RProperties loadProperties (IN(RString) name)
 try to load properties file on given name.


Protected Member Functions

void _deleteKeys (IN(RString) keyStart)
 deletes all entries with keys starting with keyStart in this properties

void _notifyListener (PropertiesChangeAction action, IN(RString) key, IN(RObject) obj)
 used internally to notify listener

void _notifyListener2 (PropertiesChangeAction action, IN(RString) key, IN(RObject) obj)

Static Protected Member Functions

RString _format (IN(RString) key, IN(RString) value)

Protected Attributes

RProperties _defaults
RPropertiesChangeListenerArray _listener

Friends

class PropertiesIterator


Constructor & Destructor Documentation

acdk::util::Properties::Properties IN(RProperties)  def = Nil  ) 
 


Member Function Documentation

void acdk::util::Properties::_deleteKeys IN(RString)  keyStart  )  [protected]
 

deletes all entries with keys starting with keyStart in this properties

RString acdk::util::Properties::_format IN(RString)  key,
IN(RString)  value
[static, protected]
 

void acdk::util::Properties::_notifyListener PropertiesChangeAction  action,
IN(RString)  key,
IN(RObject)  obj
[inline, protected]
 

used internally to notify listener

void acdk::util::Properties::_notifyListener2 PropertiesChangeAction  action,
IN(RString)  key,
IN(RObject)  obj
[protected]
 

void acdk::util::Properties::addPropertyChangeListener IN(RPropertiesChangeListener)  listener  ) 
 

add a new listener

virtual RObject acdk::util::Properties::clone sys::Allocator *  alloc  )  [virtual]
 

Reimplemented from acdk::lang::Cloneable.

virtual RObject acdk::util::Properties::clone  )  [inline, virtual]
 

Interface from cloneable.

clone ignores all entries, where the key is not a string. clone only copy the reference, and do not clone the values itself clone will also clone Properties::_default.

Implements acdk::lang::Cloneable.

RProperties acdk::util::Properties::defaults  )  [inline]
 

RString acdk::util::Properties::eval IN(RString)  expr,
bool  recursive = false
 

this method replaces with corresponding values in this properties.

System::getProperties()->eval("$(ACDKHOME)/csf"); will expand for example to "/artefaktur/acdk/csf" if ACDKHOME=/artefaktur/acdk If expr is "$(KEY)", but this property has no value for KEY the original expr will be in the resulting string.

Parameters:
expr a string, which may contains
recursive call eval recursivelly, as long are in the evaluated string

RStringArray acdk::util::Properties::getArrayProperty IN(RString)  keyStart,
int  start = 0,
bool  withDefaults = true
 

ADCK extension return a list of property values a array if keyStart is "my.prop" and start = 1 (default is 0) and the properties contains following values: my.prop.1=A my.prop.2=C my.prop.3=B my.prop.5=X this method returns a string array containing "A", "C", "B" if no element was found returns an empty array.

RMap acdk::util::Properties::getMapProperty IN(RString)  keyStart,
bool  withDefaults = true
 

ACDK extension return a list of properties as map If keyStart is "my.prop" and the properties contains the values my.prop.a=A my.prop.b=B my.prop.c=C this method returns a map a => A b => B c => C.

If no element was found returns an empty map.

This method computes the Map every time it will be called, so don't use it in inner loops.

RString acdk::util::Properties::getProperty IN(RString)  key,
IN(RString)  defaultValue,
bool  withDefaults = true
 

retrieve a property as String

Parameters:
a key to the properties
defaultValue will be returned if the property entry cannot be found
withDefaults if true (default) the value will also be searched in the parent resp. default property set
Returns:
the found value or the param defaultValue if not found

RString acdk::util::Properties::getProperty IN(RString)  key  ) 
 

see RString getProperty(IN(RString) key, IN(RString) defaultValue, bool withDefaults = true);

void acdk::util::Properties::list IN(acdk::io::RPrintWriter)  out,
bool  withDefaults = true
 

writes the elements into the printwriter

void acdk::util::Properties::load IN(acdk::io::RReader)  in  ) 
 

Load a properties file using java literal decoding.

RProperties acdk::util::Properties::loadProperties IN(RString)  name  )  [static]
 

try to load properties file on given name.

The name "acdk.util.MyProps" tries to load $ACDKHOME/cfg/acdk/util/MyProps.properties"

Parameters:
name alternativally also acdk/util/MyProps notation is allowed
Returns:
Nil if not found

void acdk::util::Properties::mergeProperties IN(RProperties)  props  ) 
 

merge existant properties with new properties.

Property values with the same key from the new properties will be overwritten.

RIterator acdk::util::Properties::propertyNames bool  withDefaults = true  ) 
 

get a iterator for all keys of this properties

Parameters:
withDefaults if true (the default) also the names of parent resp. default property set will be returned

void acdk::util::Properties::removePropertyChangeListener IN(RPropertiesChangeListener)  listener  ) 
 

remove a previous added listener

Parameters:
listener this has to be the same instance as previously added

void acdk::util::Properties::setArrayProperty IN(RString)  keyStart,
IN(RStringArray)  values,
int  start = 0
 

set the array of string in the current properties map Before inserting all entries with starting keyStart + "." will be deleted

Parameters:
keyStart property key name
values new values. If this is Nil only the old entries will be deleted
start start number occour in the property keyname as keyStart.start
See also:
getArrayProperty

void acdk::util::Properties::setDefaults IN(RProperties)  defaults  )  [inline]
 

RObject acdk::util::Properties::setProperty IN(RString)  key,
IN(RString)  value
 

set the property value

void acdk::util::Properties::setPropertyMap IN(RString)  keyStart,
IN(RMap)  map
 

set the map of value/keys in current Property Before inserting all entries with starting keyStart + "." will be deleted

See also:
getMapProperty

void acdk::util::Properties::store IN(acdk::io::RWriter)  out,
IN(RString)  header,
bool  withDefaults = true
 


Friends And Related Function Documentation

friend class PropertiesIterator [friend]
 


Member Data Documentation

RProperties acdk::util::Properties::_defaults [protected]
 

RPropertiesChangeListenerArray acdk::util::Properties::_listener [protected]