Package com.evolveum.axiom.lang.impl
Class ItemContext<V>
- java.lang.Object
-
- com.evolveum.axiom.lang.impl.ItemContext<V>
-
- All Implemented Interfaces:
AxiomBuilderStreamTarget.ItemBuilder
,AxiomItemContext<V>
,Dependency<AxiomItem<V>>
,Supplier<AxiomItem<V>>
- Direct Known Subclasses:
MapItemContext
public class ItemContext<V> extends Object implements AxiomItemContext<V>, Supplier<AxiomItem<V>>, Dependency<AxiomItem<V>>, AxiomBuilderStreamTarget.ItemBuilder
-
-
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>
-
-
Constructor Summary
Constructors Constructor Description ItemContext(ValueContext<?> sourceContext, AxiomName name, AxiomItemDefinition definition, SourceLocation loc)
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.evolveum.axiom.lang.impl.AxiomItemContext
parent
-
Methods inherited from interface com.evolveum.axiom.reactor.Dependency
flatMap, isRequired, map, unsatisfied
-
-
-
-
Constructor Detail
-
ItemContext
public ItemContext(ValueContext<?> sourceContext, AxiomName name, AxiomItemDefinition definition, SourceLocation loc)
-
-
Method Detail
-
name
public AxiomName name()
-
startValue
public ValueContext<V> startValue(Object value, SourceLocation loc)
- Specified by:
startValue
in interfaceAxiomBuilderStreamTarget.ItemBuilder
-
endNode
public void endNode(SourceLocation loc)
- Specified by:
endNode
in interfaceAxiomBuilderStreamTarget.ItemBuilder
-
type
public AxiomTypeDefinition type()
-
childItemDef
protected Optional<AxiomItemDefinition> childItemDef(AxiomName id)
-
isSatisfied
public boolean isSatisfied()
- Specified by:
isSatisfied
in interfaceDependency<V>
-
errorMessage
public Exception errorMessage()
- Specified by:
errorMessage
in interfaceDependency<V>
-
definition
public AxiomItemDefinition definition()
-
addValue
public AxiomValueContext<V> addValue(V value)
- Specified by:
addValue
in interfaceAxiomItemContext<V>
-
addOperationalValue
public void addOperationalValue(AxiomValueContext<?> value)
- Specified by:
addOperationalValue
in interfaceAxiomItemContext<V>
-
addOperationalValue
public void addOperationalValue(AxiomValueReference<V> value)
- Specified by:
addOperationalValue
in interfaceAxiomItemContext<V>
-
onlyValue
public V onlyValue()
- Specified by:
onlyValue
in interfaceAxiomItemContext<V>
-
only
public AxiomValueContext<V> only()
- Specified by:
only
in interfaceAxiomItemContext<V>
-
onlyValue0
public Dependency<AxiomValue<V>> onlyValue0()
-
merge
public void merge(Collection<? extends AxiomValue<?>> values)
-
addCompletedValue
public void addCompletedValue(AxiomValue<?> value)
- Specified by:
addCompletedValue
in interfaceAxiomItemContext<V>
-
value
public Optional<? extends AxiomValueContext<V>> value(AxiomValueIdentifier id)
- Specified by:
value
in interfaceAxiomItemContext<V>
-
mergeCompleted
public void mergeCompleted(Collection<? extends AxiomValue<?>> values)
-
currentType
public AxiomTypeDefinition currentType()
-
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)
-
-