Class AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A,D extends DeclaredStatement<A>>
java.lang.Object
org.opendaylight.yangtools.yang.model.api.meta.AbstractEffectiveStatement<A,D>
org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement<A,D>
org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.WithSchemaTree<A,D>
org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A,D>
- Type Parameters:
A
- Argument type (Empty
if statement does not have argument.)D
- Class representing declared version of this statement.
- All Implemented Interfaces:
EffectiveStatement<A,
,D> ModelStatement<A>
,SchemaTreeAwareEffectiveStatement<A,
D>
- Direct Known Subclasses:
AugmentEffectiveStatementImpl
- Enclosing class:
AbstractDeclaredEffectiveStatement<A,
D extends DeclaredStatement<A>>
public abstract static class AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A,D extends DeclaredStatement<A>>
extends AbstractDeclaredEffectiveStatement.WithSchemaTree<A,D>
Stateful version of
AbstractDeclaredEffectiveStatement.WithSchemaTree
. Schema tree namespace is eagerly instantiated (and checked).-
Nested Class Summary
Nested classes/interfaces inherited from class org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement
AbstractDeclaredEffectiveStatement.Default<A,
D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.DefaultArgument<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.DefaultWithArgument<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.DefaultWithDataTree<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.WithDataTree<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.WithSchemaTree<A, D extends DeclaredStatement<A>> -
Constructor Summary
ModifierConstructorDescriptionprotected
DefaultWithSchemaTree
(D declared, ImmutableList<? extends EffectiveStatement<?, ?>> substatements) protected
-
Method Summary
Modifier and TypeMethodDescriptionprotected MoreObjects.ToStringHelper
protected static @NonNull Map
<QName, DataTreeEffectiveStatement<?>> createDataTreeNamespace
(Collection<SchemaTreeEffectiveStatement<?>> schemaTreeStatements, Map<QName, SchemaTreeEffectiveStatement<?>> schemaTreeNamespace) protected static @NonNull Map
<QName, SchemaTreeEffectiveStatement<?>> createSchemaTreeNamespace
(Collection<? extends EffectiveStatement<?, ?>> substatements) Create a Map containing the contents of the schema tree.protected static @NonNull HashMap
<QName, TypedefEffectiveStatement> createTypedefNamespace
(Collection<? extends EffectiveStatement<?, ?>> substatements) final ImmutableList
<? extends EffectiveStatement<?, ?>> Returns a collection of all effective substatements.final boolean
final Optional
<SchemaTreeEffectiveStatement<?>> findSchemaTreeNode
(QName qname) Find aschema tree
childSchemaTreeEffectiveStatement
, as identified by its QName argument.final @NonNull D
Returns statement, which was explicit declaration of this effective statement.final int
hashCode()
protected static <T extends SchemaTreeEffectiveStatement<?>>
@NonNull Map<QName, T> immutableNamespaceOf
(Map<QName, T> map) protected static final @NonNull Object
maskList
(ImmutableList<?> list) Utility method for squashing singleton lists into single objects.protected static final @NonNull Object
maskSet
(ImmutableSet<?> set) final Collection
<SchemaTreeEffectiveStatement<?>> Enumerate allschema node
s defined within this node.final String
toString()
protected static final <T> @NonNull ImmutableList
<T> unmaskList
(@NonNull Object masked, @NonNull Class<T> type) Utility method for recovering singleton lists squashed bymaskList(ImmutableList)
.protected static final <T> @NonNull ImmutableSet
<T> Methods inherited from class org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.WithSchemaTree
dataSchemaNode
Methods inherited from class org.opendaylight.yangtools.yang.model.api.meta.AbstractEffectiveStatement
filterOptional, findValue, unmaskList
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement
collectEffectiveSubstatements, findFirstEffectiveSubstatement, findFirstEffectiveSubstatementArgument, statementOrigin, streamEffectiveSubstatements
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.meta.ModelStatement
argument, statementDefinition
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.stmt.SchemaTreeAwareEffectiveStatement
findSchemaTreeNode, findSchemaTreeNode, findSchemaTreeNode, findSchemaTreeNode, findSchemaTreeNode, findSchemaTreeNode, findSchemaTreeNode
-
Constructor Details
-
DefaultWithSchemaTree
protected DefaultWithSchemaTree(D declared, ImmutableList<? extends EffectiveStatement<?, ?>> substatements) -
DefaultWithSchemaTree
protected DefaultWithSchemaTree(AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A, D> original)
-
-
Method Details
-
getDeclared
Description copied from interface:EffectiveStatement
Returns statement, which was explicit declaration of this effective statement.- Specified by:
getDeclared
in interfaceEffectiveStatement<A,
D extends DeclaredStatement<A>> - Specified by:
getDeclared
in classAbstractDeclaredEffectiveStatement<A,
D extends DeclaredStatement<A>> - Returns:
- statement, which was explicit declaration of this effective statement or null if statement was inferred from context.
-
effectiveSubstatements
Description copied from interface:EffectiveStatement
Returns a collection of all effective substatements.- Specified by:
effectiveSubstatements
in interfaceEffectiveStatement<A,
D extends DeclaredStatement<A>> - Returns:
- collection of all effective substatements.
-
schemaTreeNodes
Description copied from interface:SchemaTreeAwareEffectiveStatement
Enumerate allschema node
s defined within this node.- Returns:
- All substatements participating on the
schema tree
-
findSchemaTreeNode
Description copied from interface:SchemaTreeAwareEffectiveStatement
Find aschema tree
childSchemaTreeEffectiveStatement
, as identified by its QName argument.- Parameters:
qname
- Child identifier- Returns:
- Schema tree child, or empty
-
createSchemaTreeNamespace
protected static @NonNull Map<QName,SchemaTreeEffectiveStatement<?>> createSchemaTreeNamespace(Collection<? extends EffectiveStatement<?, ?>> substatements) Create a Map containing the contents of the schema tree. Retur- Parameters:
substatements
- Substatements to index- Returns:
- Index of the schema tree as a mutable Map
- Throws:
NullPointerException
- ifsubstatements
is null
-
createDataTreeNamespace
protected static @NonNull Map<QName,DataTreeEffectiveStatement<?>> createDataTreeNamespace(Collection<SchemaTreeEffectiveStatement<?>> schemaTreeStatements, Map<QName, SchemaTreeEffectiveStatement<?>> schemaTreeNamespace) -
immutableNamespaceOf
protected static <T extends SchemaTreeEffectiveStatement<?>> @NonNull Map<QName,T> immutableNamespaceOf(Map<QName, T> map) -
createTypedefNamespace
protected static @NonNull HashMap<QName,TypedefEffectiveStatement> createTypedefNamespace(Collection<? extends EffectiveStatement<?, ?>> substatements) -
hashCode
public final int hashCode() -
equals
-
toString
-
addToStringAttributes
-
maskList
Utility method for squashing singleton lists into single objects. This is a CPU/mem trade-off, which we are usually willing to make: for the cost of an instanceof check we can save one object and re-create it when needed. The inverse operation is #unmaskSubstatements(Object)}.- Parameters:
list
- list to mask- Returns:
- Masked list
- Throws:
NullPointerException
- if list is null
-
unmaskList
protected static final <T> @NonNull ImmutableList<T> unmaskList(@NonNull Object masked, @NonNull Class<T> type) Utility method for recovering singleton lists squashed bymaskList(ImmutableList)
.- Parameters:
masked
- list to unmask- Returns:
- Unmasked list
- Throws:
NullPointerException
- if any argument is nullClassCastException
- if masked object does not match expected class
-
maskSet
-
unmaskSet
protected static final <T> @NonNull ImmutableSet<T> unmaskSet(@NonNull Object masked, @NonNull Class<T> type)
-