Modules Namespace List Class Hierarchy Alphabetical List Compound List Namespace Members Compound Members Related Pages
acdk::cfgscript::Props Class Reference#include <Props.h>
Inheritance diagram for acdk::cfgscript::Props:
List of all members.
Detailed Description
Generic Properties holding DmiObject's.
Can be used as more powerfull replacement for acdk::util::Properties the eval functions are tightly connected with the CfgScript language.
|
Public Member Functions |
| Props (IN(RString) name, short flags=PropsNoFlags, IN(RProps) parent=Nil, bool private_props=true) |
| Props (short flags=PropsNoFlags, IN(RProps) parent=Nil, bool private_props=true) |
| Props (IN(acdk::lang::dmi::RDmiNamedArgArray) namedArgs, short flags=PropsNoFlags) |
acdk::lang::Object | clone (acdk::lang::sys::Allocator *alloc) |
| this clone only clones the underlying HashMap.
|
acdk::lang::Object | clone () |
RString | toString () |
| return a string representation of this object Object::toString() return getName() by default
|
void | setName (IN(RString) name) |
RString | getName () |
| returns the ClassName for this object by default
|
void | setSingleThreaded (bool singleThreaded) |
bool | getSingleThreaded () |
void | lock () |
| lock the object instance.
|
void | unlock () |
| unlock the object instance Note: Will be overwritten by acdk::io::Reader and acdk::io::Writer Note: if Unsynchronized or isStack is set, this call will have no effect
|
short | getDefaultFlags () |
| a combination of PropsFlags
|
void | setDefaultFlags (short flags) |
| a combination of PropsFlags
|
short | getCastFlags () |
| a combination of acdk::lang::dmi::ScriptVarCastFlags
|
void | setCastFlags (short castFlags) |
| a combination of acdk::lang::dmi::ScriptVarCastFlags
|
int | size (short flags=PropsNoFlags) |
RProps | getParentProps () |
RPropsArray | getParentsProps () |
void | addParentProps (IN(RProps) nparent) |
void | removeParentProps (IN(RProps) nparent) |
bool | hasParentProps (IN(RProps) nparent) |
| return true if this or a parent or parent of parent has this props reference
|
RStringArray | getKeys (short flags=PropsNoFlags) |
bool | hasValue (IN(RString) key, short flags=PropsNoFlags) |
RDmiObject | get (IN(RString) name, short flags=PropsNoFlags) |
void | set (IN(RString) name, IN(RDmiObject) value, short flags=PropsNoFlags) |
| set a new value
|
void | unset (IN(RString) name, short flags=PropsNoFlags) |
| removes a key from heap
|
void | create (IN(RString) name, IN(RDmiObject) val) |
| create a new variable - Exceptions:
-
ScriptException | if variable with same name already is defined in this property |
|
void | create (IN(RString) name, const::acdk::lang::dmi::ClazzInfo *ci) |
void | reset () |
| reset this props
|
acdk::util::RIterator | keys () |
| return the iterator of this scope keys
|
void | assign (IN(RString) name, IN(RDmiObject) val, short flags=PropsNoFlags) |
| Assigns value to given name.
|
RHashMap | findOwnerHeap (IN(RString) key) |
| return the container, which owns this key.
|
RString | getStringVal (IN(RString) name, short flags=PropsNoFlags) |
RString | getEvaluatedStringVal (IN(RString) name, short flags=PropsNoFlags) |
| also CfgEval* flags will be needed
|
void | setStringVal (IN(RString) key, IN(RString) value, short flags=PropsNoFlags) |
void | setObjectVal (IN(RString) key, IN(acdk::lang::Object) value, short flags=PropsNoFlags) |
acdk::lang::Object | getObjectVal (IN(RString) key, short flags=PropsNoFlags) |
void | setQuotedStringVal (IN(RString) key, IN(RString) value, short flags=PropsNoFlags) |
| equal to setStringArrayVal but if value contains spaces CMDLINE_QUOTE_CHAR will be used to quote value
|
RString | getQuotedStringVal (IN(RString) key, short flags=PropsNoFlags) |
RString | getUnquotedStringVal (IN(RString) key, short flags=PropsNoFlags) |
| equal to getQuoteStringVal, but in case argument is quoted removes quotes before return value
|
void | appendStringVal (IN(RString) key, IN(RString) value, IN(RString) joiner, short flags=PropsNoFlags) |
void | setStringArrayVal (IN(RString) key, IN(RStringArray) value, short flags=PropsNoFlags) |
void | appendStringArrayVal (IN(RString) key, IN(RString) value, short flags=PropsNoFlags) |
RStringArray | getStringArrayVal (IN(RString) key, short flags=PropsNoFlags) |
| return StringArray returns a empty StringArray if not found
|
RStringArray | getAllStringArrayVal (IN(RString) key, short flags=PropsNoFlags) |
| collects in this an parent props all StringArrayVals in a single StringArrayVals
|
bool | containsInStringArrayVal (IN(RString) key, IN(RString) value, short flags=PropsNoFlags) |
void | appendObjectList (IN(RString) key, IN(acdk::lang::Object) val, short flags=PropsNoFlags) |
bool | getBoolVal (IN(RString) key, short flags=PropsNoFlags) |
void | setBoolVal (IN(RString) key, bool val, short flags=PropsNoFlags) |
int | getIntVal (IN(RString) key, short flags=PropsNoFlags) |
void | setIntVal (IN(RString) key, int val, short flags=PropsNoFlags) |
double | getDoubleVal (IN(RString) key, short flags=PropsNoFlags) |
void | setDoubleVal (IN(RString) key, double val, short flags=PropsNoFlags) |
RProps | getProps (IN(RString) name, short flags=PropsNoFlags) |
void | setProps (IN(RString) name, IN(RProps) props, short flags=PropsNoFlags) |
void | merge (IN(RProps) other, short flags=PropsNoFlags) |
| merge other into this props.
|
RString | eval (IN(RString) str, short flags=PropsNoFlags) |
| evaluates embeeded script parrs
|
void | execScript (IN(RString) str, IN(RString) filename=, short flags=PropsParentRead|PropsParentWrite) |
| execute a script
|
RString | evalShellExecute (IN(RString) str, short flags) |
| eval embedded backtick commands like `ls`
|
bool | importNameSpace (IN(RString) prefix) |
| if prefix is PREF imports / overwites KEY = PREF_KEY
|
RStringArray | getAllStringVals (IN(RString) key, short flags=PropsNoFlags) |
| returns all different vals of given key in this and parents
|
void | dump (int dumpFlags=DumpWithParent,::acdk::util::RTreeSet keys=Nil, IN(RString) ident=) |
| dumps to System::out
|
RString | asCfgScriptLiteral (IN(RString) keyName, IN(RString) indent=, short flags=PropsNoFlags) |
| this only works for basic types, Strings, Props and Arrays.
|
RString | getAcdkHome (bool throwIfNotFound=true) |
| find ACDKHOME or ACDK_HOME in props or System::properties.
|
RString | getAcdkToolsHome (bool throwIfNotFound=true) |
const acdk::lang::dmi::ClazzMethodInfo * | standardDispatch (IN(acdk::lang::RString) fname, acdk::lang::dmi::ScriptVar &ret, acdk::lang::dmi::ScriptVarArray &args, acdk::lang::dmi::DmiClient &dc, IN(::acdk::lang::RStringArray) namedArgs, int flags, const acdk::lang::dmi::ClazzInfo *clazzinfo, const acdk::lang::dmi::ClazzMethodInfo *methinf) |
void | addListener (IN(RPropsChangeListener) listener) |
void | removeListener (IN(RPropsChangeListener) listener) |
Static Public Member Functions |
RStringArray | makeStringArray (IN(RString) s1=Nil, IN(RString) s2=Nil, IN(RString) s3=Nil, IN(RString) s4=Nil, IN(RString) s5=Nil, IN(RString) s6=Nil, IN(RString) s7=Nil, IN(RString) s8=Nil) |
| helper to create a string array
|
Private Member Functions |
void | _init () |
bool | _importNameSpace (IN(RString) prefix, IN(RProps) props) |
void | _getKeys (IN(RStringArray) sa) |
RDmiObject | _get (IN(RString) name, short flags) |
| unsynchronized version of get
|
void | _set (IN(RString) name, IN(RDmiObject) val, short flags, bool notify=true) |
| unsynchronized version of set
|
bool | _readParent (short flags) |
bool | _writeParent (short flags) |
bool | _warnRead (short flags) |
bool | _warnWrite (short flags) |
void | _getKeys (INOUT(::acdk::util::TreeSet) keys, bool withParents=true) |
void | _getAllStringVals (IN(RString) key, short flags, IN(RStringArray) values) |
void | _notifyListener (PropChangeEvents event, IN(RString) key) |
void | _asCsfLiteral (StringBuffer &sb, IN(RString) keyName, IN(RString) indent, short flags) |
void | _asCsfLiteral (StringBuffer &sb, IN(RString) indent, short flags, IN(RString) key, IN(RDmiObject) val) |
RString | _eval (IN(RString) str, short flags) |
int | _getFlagsFromStringProps (int defaultFlags) |
| returns the flags encoded as globals in this props
|
Private Attributes |
short | _defaultFlags |
short | _castFlags |
RPropsArray | _parents |
RHashMap | _curHeap |
RString | _name |
bool | _singleThreaded |
RPropsChangeListenerArray | _listeners |
Constructor & Destructor Documentation
acdk::cfgscript::Props::Props |
( |
IN(RString) |
name, |
|
|
short |
flags = PropsNoFlags, |
|
|
IN(RProps) |
parent = Nil, |
|
|
bool |
private_props = true |
|
) |
|
|
|
- Parameters:
-
flags | combination of PropsFlags |
|
acdk::cfgscript::Props::Props |
( |
short |
flags = PropsNoFlags, |
|
|
IN(RProps) |
parent = Nil, |
|
|
bool |
private_props = true |
|
) |
|
|
Member Function Documentation
RString acdk::cfgscript::Props::_eval |
( |
IN(RString) |
str, |
|
|
short |
flags |
|
) |
[private] |
|
|
unsynchronized version of get
|
void acdk::cfgscript::Props::_getAllStringVals |
( |
IN(RString) |
key, |
|
|
short |
flags, |
|
|
IN(RStringArray) |
values |
|
) |
[private] |
|
int acdk::cfgscript::Props::_getFlagsFromStringProps |
( |
int |
defaultFlags |
) |
[private] |
|
|
returns the flags encoded as globals in this props
|
void acdk::cfgscript::Props::_getKeys |
( |
INOUT(::acdk::util::TreeSet) |
keys, |
|
|
bool |
withParents = true |
|
) |
[private] |
|
void acdk::cfgscript::Props::_getKeys |
( |
IN(RStringArray) |
sa |
) |
[private] |
|
bool acdk::cfgscript::Props::_importNameSpace |
( |
IN(RString) |
prefix, |
|
|
IN(RProps) |
props |
|
) |
[private] |
|
|
- Returns:
- true if an value is changed.
|
void acdk::cfgscript::Props::_init |
( |
|
) |
[private] |
|
bool acdk::cfgscript::Props::_readParent |
( |
short |
flags |
) |
[inline, private] |
|
void acdk::cfgscript::Props::_set |
( |
IN(RString) |
name, |
|
|
IN(RDmiObject) |
val, |
|
|
short |
flags, |
|
|
bool |
notify = true |
|
) |
[private] |
|
|
unsynchronized version of set
|
bool acdk::cfgscript::Props::_warnRead |
( |
short |
flags |
) |
[inline, private] |
|
bool acdk::cfgscript::Props::_warnWrite |
( |
short |
flags |
) |
[inline, private] |
|
bool acdk::cfgscript::Props::_writeParent |
( |
short |
flags |
) |
[inline, private] |
|
void acdk::cfgscript::Props::addParentProps |
( |
IN(RProps) |
nparent |
) |
[inline] |
|
void acdk::cfgscript::Props::appendStringArrayVal |
( |
IN(RString) |
key, |
|
|
IN(RString) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
void acdk::cfgscript::Props::appendStringVal |
( |
IN(RString) |
key, |
|
|
IN(RString) |
value, |
|
|
IN(RString) |
joiner, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
RString acdk::cfgscript::Props::asCfgScriptLiteral |
( |
IN(RString) |
keyName, |
|
|
IN(RString) |
indent = , |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
this only works for basic types, Strings, Props and Arrays.
- Parameters:
-
keyName | the varname of the property |
indent | indentation |
flags | combination of enum PropsFlags |
|
void acdk::cfgscript::Props::assign |
( |
IN(RString) |
name, |
|
|
IN(RDmiObject) |
val, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
Assigns value to given name.
- Exceptions:
-
|
|
this clone only clones the underlying HashMap.
Keys and Values itself are not cloned prarents will be cloned too
Reimplemented from acdk::lang::Cloneable. |
bool acdk::cfgscript::Props::containsInStringArrayVal |
( |
IN(RString) |
key, |
|
|
IN(RString) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
create a new variable - Exceptions:
-
ScriptException | if variable with same name already is defined in this property |
|
RString acdk::cfgscript::Props::eval |
( |
IN(RString) |
str, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
evaluates embeeded script parrs
-
${expr} where expr is either a Props key or a CfgScript expression
-
key} is a key to a StringArray it will be expanded inline in the string if PropsEvalQuoteFileNameArgs is set in the flags the single strings of the StringArray will be quoted to be valid file name arguments.
-
!{ script }! script will be evaluated as CfgScript script. the !{ script }! will be replaced with the output written by the script to 'out'
${CCC} ${CCOPTS} ${OBJDIR}${DIRSEP}${OBJFILE} -c ${SOURCEFILE} After evaluating inplace variable substitution it tries also to eval evalShellExecute if PropsEvalWithShell is set in flags
- Parameters:
-
quoteArgs | if true and an replaced parameter contains spaces the expression will be quoted with " on windows or ' on unix. |
- See also:
- Backtick Operator
|
RString acdk::cfgscript::Props::evalShellExecute |
( |
IN(RString) |
str, |
|
|
short |
flags |
|
) |
|
|
|
eval embedded backtick commands like `ls`
|
void acdk::cfgscript::Props::execScript |
( |
IN(RString) |
str, |
|
|
IN(RString) |
filename = , |
|
|
short |
flags = PropsParentRead|PropsParentWrite |
|
) |
|
|
|
execute a script
- Parameters:
-
str | script content to execute |
filename | filename of the script to execute (used to find includes) |
flags | standard property flags |
|
|
return the container, which owns this key.
- Returns:
- Nil if no heap owns this key
|
RDmiObject acdk::cfgscript::Props::get |
( |
IN(RString) |
name, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
RString acdk::cfgscript::Props::getAcdkHome |
( |
bool |
throwIfNotFound = true |
) |
|
|
|
find ACDKHOME or ACDK_HOME in props or System::properties.
|
RString acdk::cfgscript::Props::getAcdkToolsHome |
( |
bool |
throwIfNotFound = true |
) |
|
|
RStringArray acdk::cfgscript::Props::getAllStringArrayVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
collects in this an parent props all StringArrayVals in a single StringArrayVals
- Parameters:
-
flags | if PropsNoStringDups throws away all duplicated string values |
|
RStringArray acdk::cfgscript::Props::getAllStringVals |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
returns all different vals of given key in this and parents
|
bool acdk::cfgscript::Props::getBoolVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
short acdk::cfgscript::Props::getCastFlags |
( |
|
) |
[inline] |
|
short acdk::cfgscript::Props::getDefaultFlags |
( |
|
) |
[inline] |
|
|
a combination of PropsFlags
|
double acdk::cfgscript::Props::getDoubleVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
RString acdk::cfgscript::Props::getEvaluatedStringVal |
( |
IN(RString) |
name, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
|
also CfgEval* flags will be needed
- See also:
- also Props::eval
|
int acdk::cfgscript::Props::getIntVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
RStringArray acdk::cfgscript::Props::getKeys |
( |
short |
flags = PropsNoFlags |
) |
|
|
RString acdk::cfgscript::Props::getName |
( |
|
) |
[inline, virtual] |
|
RProps acdk::cfgscript::Props::getParentProps |
( |
|
) |
[inline] |
|
RPropsArray acdk::cfgscript::Props::getParentsProps |
( |
|
) |
[inline] |
|
RProps acdk::cfgscript::Props::getProps |
( |
IN(RString) |
name, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
RString acdk::cfgscript::Props::getQuotedStringVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
bool acdk::cfgscript::Props::getSingleThreaded |
( |
|
) |
[inline] |
|
RStringArray acdk::cfgscript::Props::getStringArrayVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
return StringArray returns a empty StringArray if not found
|
RString acdk::cfgscript::Props::getStringVal |
( |
IN(RString) |
name, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
RString acdk::cfgscript::Props::getUnquotedStringVal |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
equal to getQuoteStringVal, but in case argument is quoted removes quotes before return value
|
bool acdk::cfgscript::Props::hasParentProps |
( |
IN(RProps) |
nparent |
) |
|
|
|
return true if this or a parent or parent of parent has this props reference
|
bool acdk::cfgscript::Props::hasValue |
( |
IN(RString) |
key, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
bool acdk::cfgscript::Props::importNameSpace |
( |
IN(RString) |
prefix |
) |
|
|
|
if prefix is PREF imports / overwites KEY = PREF_KEY
- Returns:
- true if an value is changed.
|
|
return the iterator of this scope keys
|
void acdk::cfgscript::Props::lock |
( |
|
) |
[inline, virtual] |
|
|
helper to create a string array
|
void acdk::cfgscript::Props::merge |
( |
IN(RProps) |
other, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
merge other into this props.
- Parameters:
-
other | source |
flags | Combination of PropsMergeFlags |
|
void acdk::cfgscript::Props::removeParentProps |
( |
IN(RProps) |
nparent |
) |
[inline] |
|
void acdk::cfgscript::Props::reset |
( |
|
) |
[inline] |
|
void acdk::cfgscript::Props::set |
( |
IN(RString) |
name, |
|
|
IN(RDmiObject) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
set a new value
- Parameters:
-
flags | a bit combination of PropsOpFlags |
|
void acdk::cfgscript::Props::setBoolVal |
( |
IN(RString) |
key, |
|
|
bool |
val, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
void acdk::cfgscript::Props::setCastFlags |
( |
short |
castFlags |
) |
[inline] |
|
void acdk::cfgscript::Props::setDefaultFlags |
( |
short |
flags |
) |
[inline] |
|
|
a combination of PropsFlags
|
void acdk::cfgscript::Props::setDoubleVal |
( |
IN(RString) |
key, |
|
|
double |
val, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
void acdk::cfgscript::Props::setIntVal |
( |
IN(RString) |
key, |
|
|
int |
val, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
void acdk::cfgscript::Props::setName |
( |
IN(RString) |
name |
) |
[inline] |
|
void acdk::cfgscript::Props::setObjectVal |
( |
IN(RString) |
key, |
|
|
IN(acdk::lang::Object) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
void acdk::cfgscript::Props::setProps |
( |
IN(RString) |
name, |
|
|
IN(RProps) |
props, |
|
|
short |
flags = PropsNoFlags |
|
) |
[inline] |
|
void acdk::cfgscript::Props::setQuotedStringVal |
( |
IN(RString) |
key, |
|
|
IN(RString) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
equal to setStringArrayVal but if value contains spaces CMDLINE_QUOTE_CHAR will be used to quote value
|
void acdk::cfgscript::Props::setSingleThreaded |
( |
bool |
singleThreaded |
) |
[inline] |
|
void acdk::cfgscript::Props::setStringArrayVal |
( |
IN(RString) |
key, |
|
|
IN(RStringArray) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
void acdk::cfgscript::Props::setStringVal |
( |
IN(RString) |
key, |
|
|
IN(RString) |
value, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
int acdk::cfgscript::Props::size |
( |
short |
flags = PropsNoFlags |
) |
|
|
|
- Returns:
- the number of entries in this Props
- Parameters:
-
flags | set CfgWithParents if including params |
|
RString acdk::cfgscript::Props::toString |
( |
|
) |
[virtual] |
|
void acdk::cfgscript::Props::unlock |
( |
|
) |
[inline, virtual] |
|
void acdk::cfgscript::Props::unset |
( |
IN(RString) |
name, |
|
|
short |
flags = PropsNoFlags |
|
) |
|
|
|
removes a key from heap
- Parameters:
-
flags | a bit combination of PropsOpFlags |
|
Member Data Documentation
|