Class AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements<A,D extends DeclaredStatement<A>>
- java.lang.Object
-
- org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement<A,D>
-
- org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.Default<A,D>
-
- org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument<A,D>
-
- org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements<A,D>
-
- All Implemented Interfaces:
EffectiveStatement<A,D>
,ModelStatement<A>
- Direct Known Subclasses:
DeviateEffectiveStatementImpl
,DeviationEffectiveStatementImpl
,ImportEffectiveStatementImpl
,RefineEffectiveStatementImpl
,RegularArgumentEffectiveStatement
,RegularBaseEffectiveStatement
,RegularBelongsToEffectiveStatement
,RegularConfigEffectiveStatement
,RegularContactEffectiveStatement
,RegularDefaultEffectiveStatement
,RegularDescriptionEffectiveStatement
,RegularEnumEffectiveStatement
,RegularErrorAppTagEffectiveStatement
,RegularErrorMessageEffectiveStatement
,RegularFractionDigitsEffectiveStatement
,RegularIfFeatureEffectiveStatement
,RegularIncludeEffectiveStatement
,RegularLengthEffectiveStatement
,RegularMandatoryEffectiveStatement
,RegularMaxElementsEffectiveStatement
,RegularMinElementsEffectiveStatement
,RegularModifierEffectiveStatement
,RegularMustEffectiveStatement
,RegularNamespaceEffectiveStatement
,RegularOrderedByEffectiveStatement
,RegularOrganizationEffectiveStatement
,RegularPathEffectiveStatement
,RegularPatternEffectiveStatement
,RegularPositionEffectiveStatement
,RegularPrefixEffectiveStatement
,RegularPresenceEffectiveStatement
,RegularRangeEffectiveStatement
,RegularReferenceEffectiveStatement
,RegularRequireInstanceEffectiveStatement
,RegularRevisionDateEffectiveStatement
,RegularRevisionEffectiveStatement
,RegularStatusEffectiveStatement
,RegularUnitsEffectiveStatement
,RegularValueEffectiveStatement
,RegularWhenEffectiveStatement
,RegularYangVersionEffectiveStatement
,RegularYinElementEffectiveStatement
- Enclosing class:
- AbstractDeclaredEffectiveStatement.DefaultArgument<A,D extends DeclaredStatement<A>>
public abstract static class AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements<A,D extends DeclaredStatement<A>> extends AbstractDeclaredEffectiveStatement.DefaultArgument<A,D>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument
AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements<A,D extends DeclaredStatement<A>>
-
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>,E extends DataTreeAwareEffectiveStatement<A,D>>, AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A,D extends DeclaredStatement<A>,E extends SchemaTreeAwareEffectiveStatement<A,D>>, AbstractDeclaredEffectiveStatement.WithDataTree<A,D extends DeclaredStatement<A>,E extends DataTreeAwareEffectiveStatement<A,D>>, AbstractDeclaredEffectiveStatement.WithSchemaTree<A,D extends DeclaredStatement<A>,E extends SchemaTreeAwareEffectiveStatement<A,D>>
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
WithSubstatements(D declared, ImmutableList<? extends EffectiveStatement<?,?>> substatements)
protected
WithSubstatements(AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements<A,D> original)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static @NonNull ImmutableMap<QName,DataTreeEffectiveStatement<?>>
createDataTreeNamespace(Collection<SchemaTreeEffectiveStatement<?>> schemaTreeStatements, ImmutableMap<QName,SchemaTreeEffectiveStatement<?>> schemaTreeNamespace)
protected static @NonNull Map<QName,SchemaTreeEffectiveStatement<?>>
createSchemaTreeNamespace(Collection<? extends EffectiveStatement<?,?>> substatements)
ImmutableList<? extends EffectiveStatement<?,?>>
effectiveSubstatements()
Returns a collection of all effective substatements.<K,V,N extends IdentifierNamespace<K,V>>
Optional<? extends V>get(Class<N> namespace, K identifier)
Returns value associated with supplied identifier.<K,V,N extends IdentifierNamespace<K,V>>
Map<K,V>getAll(Class<N> namespace)
Returns all local values from supplied namespace.protected <K,V,N extends IdentifierNamespace<K,V>>
Optional<? extends Map<K,V>>getNamespaceContents(@NonNull Class<N> namespace)
Return the statement-specific contents of specified namespace, if available.protected static @NonNull Object
maskList(ImmutableList<?> list)
Utility method for squashing singleton lists into single objects.protected static @NonNull Object
maskSet(ImmutableSet<?> set)
protected static @NonNull ImmutableList<? extends @NonNull EffectiveStatement<?,?>>
unmaskList(@NonNull Object masked)
Utility method for recovering singleton lists squashed bymaskList(ImmutableList)
.protected static <T> @NonNull ImmutableList<T>
unmaskList(@NonNull Object masked, @NonNull Class<T> type)
Utility method for recovering singleton lists squashed bymaskList(ImmutableList)
.protected static <T> @NonNull ImmutableSet<T>
unmaskSet(@NonNull Object masked, @NonNull Class<T> type)
-
Methods inherited from class org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument
argument
-
Methods inherited from class org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.Default
getDeclared
-
Methods inherited from class org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement
statementOrigin
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement
findFirstEffectiveSubstatement, findFirstEffectiveSubstatementArgument, streamEffectiveSubstatements
-
Methods inherited from interface org.opendaylight.yangtools.yang.model.api.meta.ModelStatement
statementDefinition
-
-
-
-
Constructor Detail
-
WithSubstatements
protected WithSubstatements(D declared, ImmutableList<? extends EffectiveStatement<?,?>> substatements)
-
WithSubstatements
protected WithSubstatements(AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements<A,D> original)
-
-
Method Detail
-
effectiveSubstatements
public final ImmutableList<? extends EffectiveStatement<?,?>> 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.
-
get
public final <K,V,N extends IdentifierNamespace<K,V>> Optional<? extends V> get(Class<N> namespace, K identifier)
Description copied from interface:EffectiveStatement
Returns value associated with supplied identifier.- Specified by:
get
in interfaceEffectiveStatement<A,D extends DeclaredStatement<A>>
- Type Parameters:
K
- Identifier typeV
- Value typeN
- Namespace identifier type- Parameters:
namespace
- Namespace typeidentifier
- Identifier of element.- Returns:
- Value if present
-
getAll
public final <K,V,N extends IdentifierNamespace<K,V>> Map<K,V> getAll(Class<N> namespace)
Description copied from interface:EffectiveStatement
Returns all local values from supplied namespace.- Specified by:
getAll
in interfaceEffectiveStatement<A,D extends DeclaredStatement<A>>
- Type Parameters:
K
- Identifier typeV
- Value typeN
- Namespace identifier type- Parameters:
namespace
- Namespace type- Returns:
- Key-value mappings, empty if the namespace does not exist.
-
getNamespaceContents
protected <K,V,N extends IdentifierNamespace<K,V>> Optional<? extends Map<K,V>> getNamespaceContents(@NonNull Class<N> namespace)
Return the statement-specific contents of specified namespace, if available.- Parameters:
namespace
- Requested namespace- Returns:
- Namespace contents, if available.
-
unmaskList
protected static final @NonNull ImmutableList<? extends @NonNull EffectiveStatement<?,?>> unmaskList(@NonNull Object masked)
Utility method for recovering singleton lists squashed bymaskList(ImmutableList)
.- Parameters:
masked
- list to unmask- Returns:
- Unmasked list
- Throws:
NullPointerException
- if masked is nullClassCastException
- if masked object does not match EffectiveStatement
-
createSchemaTreeNamespace
protected static @NonNull Map<QName,SchemaTreeEffectiveStatement<?>> createSchemaTreeNamespace(Collection<? extends EffectiveStatement<?,?>> substatements)
-
createDataTreeNamespace
protected static @NonNull ImmutableMap<QName,DataTreeEffectiveStatement<?>> createDataTreeNamespace(Collection<SchemaTreeEffectiveStatement<?>> schemaTreeStatements, ImmutableMap<QName,SchemaTreeEffectiveStatement<?>> schemaTreeNamespace)
-
maskList
protected static final @NonNull Object maskList(ImmutableList<?> list)
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
protected static final @NonNull Object maskSet(ImmutableSet<?> set)
-
unmaskSet
protected static final <T> @NonNull ImmutableSet<T> unmaskSet(@NonNull Object masked, @NonNull Class<T> type)
-
-