Class VariablesMap
- java.lang.Object
-
- com.evolveum.midpoint.schema.expression.VariablesMap
-
- All Implemented Interfaces:
DebugDumpable,Map<String,TypedValue>
- Direct Known Subclasses:
ExpressionVariables
public class VariablesMap extends Object implements Map<String,TypedValue>, DebugDumpable
- Author:
- semancik
-
-
Field Summary
-
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
-
Constructor Summary
Constructors Constructor Description VariablesMap()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()booleancontainsKey(Object key)booleancontainsValue(Object value)static VariablesMapcreate(PrismContext prismContext, Object... parameters)Expects name-value-definition triples.StringdebugDump(int indent)StringdumpSingleLine()static VariablesMapemptyMap()Set<Map.Entry<String,TypedValue>>entrySet()booleanequals(Object o)protected voidfillIn(PrismContext prismContext, Object... parameters)Expects name-value-definition triples.StringformatVariables()TypedValueget(Object key)Collection<String>getAliases(String key)StringgetAliasResolution(String key)inthashCode()booleanisAlias(String key)booleanisEmpty()Set<String>keySet()TypedValueput(String key, TypedValue typedValue)<D extends ItemDefinition>
TypedValueput(String key, Object value, D definition)<T> TypedValueput(String key, Object value, Class<T> typeClass)Note: Type of the value should really be Object and not T.voidputAll(VariablesMap m)voidputAll(Map<? extends String,? extends TypedValue> m)<T> TypedValue<List<T>>putList(String key, List<T> list)Convenience method to put multivalue variables (lists).<O extends ObjectType>
TypedValue<O>putObject(String key, PrismObject<O> object, Class<O> expectedClass)Convenience method to put objects with definition.<O extends ObjectType>
TypedValue<O>putObject(String key, O objectType, Class<O> expectedClass)Convenience method to put objects with definition.voidregisterAlias(String alias, String realName)voidregisterAliasesFrom(VariablesMap map)Use only if you previously register all variables from this map!TypedValueremove(Object key)intsize()StringtoString()voidunregisterAlias(String alias)Collection<TypedValue>values()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfaceMap<String,TypedValue>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceMap<String,TypedValue>
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKeyin interfaceMap<String,TypedValue>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValuein interfaceMap<String,TypedValue>
-
get
public TypedValue get(Object key)
- Specified by:
getin interfaceMap<String,TypedValue>
-
put
public TypedValue put(String key, TypedValue typedValue)
- Specified by:
putin interfaceMap<String,TypedValue>
-
registerAliasesFrom
public void registerAliasesFrom(VariablesMap map)
Use only if you previously register all variables from this map!
-
unregisterAlias
public void unregisterAlias(String alias)
-
put
public <D extends ItemDefinition> TypedValue put(String key, Object value, D definition)
-
put
public <T> TypedValue put(String key, Object value, Class<T> typeClass)
Note: Type of the value should really be Object and not T. The value may be quite complicated, e.g. it may be ItemDeltaItem of the actual real value. However, the class defines the real type of the value precisely.
-
putObject
public <O extends ObjectType> TypedValue<O> putObject(String key, O objectType, Class<O> expectedClass)
Convenience method to put objects with definition. Maybe later improve by looking up full definition.
-
putObject
public <O extends ObjectType> TypedValue<O> putObject(String key, PrismObject<O> object, Class<O> expectedClass)
Convenience method to put objects with definition. Maybe later improve by looking up full definition.
-
putList
public <T> TypedValue<List<T>> putList(String key, List<T> list)
Convenience method to put multivalue variables (lists). This is very simple now. But later on we may need to declare generics. Therefore dedicated method would be easier to find all usages and fix them.
-
remove
public TypedValue remove(Object key)
- Specified by:
removein interfaceMap<String,TypedValue>
-
putAll
public void putAll(Map<? extends String,? extends TypedValue> m)
- Specified by:
putAllin interfaceMap<String,TypedValue>
-
putAll
public void putAll(VariablesMap m)
-
clear
public void clear()
- Specified by:
clearin interfaceMap<String,TypedValue>
-
keySet
@NotNull public Set<String> keySet()
- Specified by:
keySetin interfaceMap<String,TypedValue>
-
values
@NotNull public Collection<TypedValue> values()
- Specified by:
valuesin interfaceMap<String,TypedValue>
-
entrySet
@NotNull public Set<Map.Entry<String,TypedValue>> entrySet()
- Specified by:
entrySetin interfaceMap<String,TypedValue>
-
create
public static VariablesMap create(PrismContext prismContext, Object... parameters)
Expects name-value-definition triples. Definition can be just a type QName. E.g. create(var1name, var1value, var1type, var2name, var2value, var2type, ...) Mostly for testing. Use at your own risk.
-
fillIn
protected void fillIn(PrismContext prismContext, Object... parameters)
Expects name-value-definition triples. Definition can be just a type QName. E.g. create(var1name, var1value, var1type, var2name, var2value, var2type, ...) Mostly for testing. Use at your own risk.
-
emptyMap
public static VariablesMap emptyMap()
-
equals
public boolean equals(Object o)
-
hashCode
public int hashCode()
-
formatVariables
public String formatVariables()
-
getAliases
@NotNull public Collection<String> getAliases(String key)
-
isAlias
public boolean isAlias(String key)
-
dumpSingleLine
public String dumpSingleLine()
-
debugDump
public String debugDump(int indent)
- Specified by:
debugDumpin interfaceDebugDumpable
-
-