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 void
clear()
boolean
containsKey(Object key)
boolean
containsValue(Object value)
static VariablesMap
create(PrismContext prismContext, Object... parameters)
Expects name-value-definition triples.String
debugDump(int indent)
String
dumpSingleLine()
static VariablesMap
emptyMap()
Set<Map.Entry<String,TypedValue>>
entrySet()
boolean
equals(Object o)
protected void
fillIn(PrismContext prismContext, Object... parameters)
Expects name-value-definition triples.String
formatVariables()
TypedValue
get(Object key)
Collection<String>
getAliases(String key)
String
getAliasResolution(String key)
int
hashCode()
boolean
isAlias(String key)
boolean
isEmpty()
Set<String>
keySet()
TypedValue
put(String key, TypedValue typedValue)
<D extends ItemDefinition>
TypedValueput(String key, Object value, D definition)
<T> TypedValue
put(String key, Object value, Class<T> typeClass)
Note: Type of the value should really be Object and not T.void
putAll(VariablesMap m)
void
putAll(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.void
registerAlias(String alias, String realName)
void
registerAliasesFrom(VariablesMap map)
Use only if you previously register all variables from this map!TypedValue
remove(Object key)
int
size()
String
toString()
void
unregisterAlias(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:
size
in interfaceMap<String,TypedValue>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceMap<String,TypedValue>
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<String,TypedValue>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<String,TypedValue>
-
get
public TypedValue get(Object key)
- Specified by:
get
in interfaceMap<String,TypedValue>
-
put
public TypedValue put(String key, TypedValue typedValue)
- Specified by:
put
in 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:
remove
in interfaceMap<String,TypedValue>
-
putAll
public void putAll(Map<? extends String,? extends TypedValue> m)
- Specified by:
putAll
in interfaceMap<String,TypedValue>
-
putAll
public void putAll(VariablesMap m)
-
clear
public void clear()
- Specified by:
clear
in interfaceMap<String,TypedValue>
-
keySet
@NotNull public Set<String> keySet()
- Specified by:
keySet
in interfaceMap<String,TypedValue>
-
values
@NotNull public Collection<TypedValue> values()
- Specified by:
values
in interfaceMap<String,TypedValue>
-
entrySet
@NotNull public Set<Map.Entry<String,TypedValue>> entrySet()
- Specified by:
entrySet
in 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:
debugDump
in interfaceDebugDumpable
-
-