Package com.dtolabs.rundeck.core.data
Interface MultiDataContext<K extends ViewTraverse<K>,D extends DataContext>
-
- All Known Implementing Classes:
MultiDataContextImpl
,WFSharedContext
public interface MultiDataContext<K extends ViewTraverse<K>,D extends DataContext>
Keyed data with optional base data set
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default java.util.List<java.lang.String>
collect(java.util.function.Predicate<K> viewFilter, java.lang.String group, java.lang.String key)
Resolve all data values for the matching viewsdefault java.util.Map<java.lang.String,java.lang.String>
collectMap(java.util.function.Predicate<K> viewFilter, java.util.function.Function<K,java.lang.String> keyMapper, java.lang.String group, java.lang.String key)
Resolve all data values for the matching viewsMultiDataContext<K,D>
consolidate()
MultiDataContext<K,D>
getBase()
java.util.Set<K>
getConsolidatedKeys()
java.util.Map<K,D>
getData()
D
getData(K key)
java.util.Set<K>
getKeys()
void
merge(MultiDataContext<K,D> input)
Merge another multi contextvoid
merge(K key, D data)
Merge the data into the keydefault java.lang.String
resolve(K view, java.lang.String group, java.lang.String key)
Resolve a data value from a starting scopedefault java.lang.String
resolve(K view, java.lang.String group, java.lang.String key, java.lang.String defaultValue)
Resolve a data value from a starting scope or return a defaultdefault java.lang.String
resolve(K view, K widestScope, java.lang.String group, java.lang.String key, java.lang.String defaultValue)
Resolve a data value with optional scope widening or return a default value.
-
-
-
Method Detail
-
getBase
MultiDataContext<K,D> getBase()
- Returns:
- base data set, or null
-
getKeys
java.util.Set<K> getKeys()
-
getConsolidatedKeys
java.util.Set<K> getConsolidatedKeys()
-
consolidate
MultiDataContext<K,D> consolidate()
-
merge
void merge(MultiDataContext<K,D> input)
Merge another multi context- Parameters:
input
-
-
resolve
default java.lang.String resolve(K view, java.lang.String group, java.lang.String key)
Resolve a data value from a starting scope- Parameters:
view
- scopegroup
- groupkey
- key- Returns:
- value or null
-
resolve
default java.lang.String resolve(K view, java.lang.String group, java.lang.String key, java.lang.String defaultValue)
Resolve a data value from a starting scope or return a default- Parameters:
view
- scopegroup
- groupkey
- keydefaultValue
- default value- Returns:
- resolved value, or the default value
-
resolve
default java.lang.String resolve(K view, K widestScope, java.lang.String group, java.lang.String key, java.lang.String defaultValue)
Resolve a data value with optional scope widening or return a default value. If no local value is found for the current scope, the base data set will be queried for the current scope, and any base value will be returned, before widening the search scope.- Parameters:
view
- scopewidestScope
- maximum search scopegroup
- groupkey
- keydefaultValue
- default value- Returns:
- resolved value or default value
-
collect
default java.util.List<java.lang.String> collect(java.util.function.Predicate<K> viewFilter, java.lang.String group, java.lang.String key)
Resolve all data values for the matching views- Parameters:
viewFilter
- view filtergroup
- groupkey
- key- Returns:
- List of all resolved values, or null
-
collectMap
default java.util.Map<java.lang.String,java.lang.String> collectMap(java.util.function.Predicate<K> viewFilter, java.util.function.Function<K,java.lang.String> keyMapper, java.lang.String group, java.lang.String key)
Resolve all data values for the matching views- Parameters:
viewFilter
- view filtergroup
- groupkey
- key- Returns:
- List of all resolved values, or null
-
-