Package com.evolveum.axiom.lang.impl
Class ValueContext<V>
- java.lang.Object
-
- com.evolveum.axiom.lang.impl.ValueContext<V>
-
- All Implemented Interfaces:
AxiomBuilderStreamTarget.ValueBuilder
,AxiomValueContext<V>
,Dependency<AxiomValue<V>>
public class ValueContext<V> extends Object implements AxiomValueContext<V>, AxiomBuilderStreamTarget.ValueBuilder, Dependency<AxiomValue<V>>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.evolveum.axiom.reactor.Dependency
Dependency.Immediate<V>, Dependency.OptionalDep<T>, Dependency.Search<T>, Dependency.Suppliable<V>, Dependency.Unsatified<V>
-
-
Field Summary
Fields Modifier and Type Field Description com.evolveum.axiom.lang.impl.ValueContext.Reference
reference
com.evolveum.axiom.lang.impl.ValueContext.ReferenceDependency
referenceDependency
-
Constructor Summary
Constructors Constructor Description ValueContext(ItemContext<V> itemContext, V value, SourceLocation loc)
ValueContext(SourceLocation loc, com.evolveum.axiom.lang.impl.IdentifierSpaceHolder space)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.evolveum.axiom.api.stream.AxiomBuilderStreamTarget.ValueBuilder
axiomAsConditionalDefault
-
Methods inherited from interface com.evolveum.axiom.lang.impl.AxiomValueContext
childItem, parent, parentValue
-
Methods inherited from interface com.evolveum.axiom.reactor.Dependency
flatMap, isRequired, map, unsatisfied
-
-
-
-
Constructor Detail
-
ValueContext
public ValueContext(SourceLocation loc, com.evolveum.axiom.lang.impl.IdentifierSpaceHolder space)
-
ValueContext
public ValueContext(ItemContext<V> itemContext, V value, SourceLocation loc)
-
-
Method Detail
-
name
public AxiomName name()
-
getLookup
public com.evolveum.axiom.lang.impl.ValueContext.LookupImpl getLookup()
-
childItemDef
public Optional<AxiomItemDefinition> childItemDef(AxiomName statement)
- Specified by:
childItemDef
in interfaceAxiomBuilderStreamTarget.ValueBuilder
-
startItem
public ItemContext<?> startItem(AxiomName identifier, SourceLocation loc)
- Specified by:
startItem
in interfaceAxiomBuilderStreamTarget.ValueBuilder
-
endValue
public void endValue(SourceLocation loc)
- Specified by:
endValue
in interfaceAxiomBuilderStreamTarget.ValueBuilder
-
mutable
protected com.evolveum.axiom.lang.impl.ValueContext.Result mutable()
-
isSatisfied
public boolean isSatisfied()
- Specified by:
isSatisfied
in interfaceDependency<V>
-
get
public AxiomValue<V> get()
- Specified by:
get
in interfaceDependency<V>
-
errorMessage
public Exception errorMessage()
- Specified by:
errorMessage
in interfaceDependency<V>
-
itemDefinition
public AxiomItemDefinition itemDefinition()
-
currentType
public AxiomTypeDefinition currentType()
-
addAction
public ValueActionImpl<V> addAction(String name)
-
createItem
protected ItemContext<?> createItem(AxiomName id, SourceLocation loc)
-
replace
public void replace(AxiomValue<?> axiomItemValue)
- Specified by:
replace
in interfaceAxiomValueContext<V>
-
childItem
public <T> ItemContext<T> childItem(AxiomName name)
- Specified by:
childItem
in interfaceAxiomValueContext<V>
-
currentValue
public V currentValue()
- Specified by:
currentValue
in interfaceAxiomValueContext<V>
-
mergeItem
public void mergeItem(AxiomItem<?> axiomItem)
- Specified by:
mergeItem
in interfaceAxiomValueContext<V>
-
register
public void register(AxiomName space, AxiomIdentifierDefinition.Scope scope, AxiomValueIdentifier key)
- Specified by:
register
in interfaceAxiomValueContext<V>
-
newAction
public AxiomStatementRule.ActionBuilder<?> newAction(String name)
- Specified by:
newAction
in interfaceAxiomValueContext<V>
-
root
public com.evolveum.axiom.lang.impl.SourceContext root()
- Specified by:
root
in interfaceAxiomValueContext<V>
-
dependsOnAction
public void dependsOnAction(ValueActionImpl<V> action)
-
requireChild
public <T> Dependency.Search<AxiomItem<T>> requireChild(AxiomName item)
-
asReference
public <V> AxiomValueReference<V> asReference()
- Specified by:
asReference
in interfaceAxiomValueContext<V>
-
replaceValue
public void replaceValue(V object)
- Specified by:
replaceValue
in interfaceAxiomValueContext<V>
-
isMutable
public boolean isMutable()
-
lazyValue
public AxiomValue<V> lazyValue()
-
infraItemDef
public Optional<AxiomItemDefinition> infraItemDef(AxiomName item)
- Specified by:
infraItemDef
in interfaceAxiomBuilderStreamTarget.ValueBuilder
-
startInfra
public AxiomBuilderStreamTarget.ItemBuilder startInfra(AxiomName identifier, SourceLocation loc)
- Specified by:
startInfra
in interfaceAxiomBuilderStreamTarget.ValueBuilder
-
valueIdentifier
public void valueIdentifier(AxiomValueIdentifier key)
- Specified by:
valueIdentifier
in interfaceAxiomValueContext<V>
-
mergeCompletedIfEmpty
public void mergeCompletedIfEmpty(Optional<AxiomItem<?>> item)
- Specified by:
mergeCompletedIfEmpty
in interfaceAxiomValueContext<V>
-
currentInfra
public AxiomTypeDefinition currentInfra()
-
parent
public P parent()
-
rootImpl
protected com.evolveum.axiom.lang.impl.SourceContext rootImpl()
-
startLocation
public SourceLocation startLocation()
-
lookup
public ValueContext<?> lookup(AxiomName space, AxiomValueIdentifier key)
-
register
public void register(AxiomName space, AxiomIdentifierDefinition.Scope scope, AxiomValueIdentifier key, ValueContext<?> context)
-
space
public Map<AxiomValueIdentifier,ValueContext<?>> space(AxiomName space)
-
-