Class AbstractDeclaredEffectiveStatement.DefaultArgument<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.Default<A,D>
org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument<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>
- Direct Known Subclasses:
AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements
,EmptyArgumentEffectiveStatement
,EmptyBaseEffectiveStatement
,EmptyBelongsToEffectiveStatement
,EmptyBitEffectiveStatement
,EmptyConfigEffectiveStatement
,EmptyContactEffectiveStatement
,EmptyDefaultEffectiveStatement
,EmptyDescriptionEffectiveStatement
,EmptyEnumEffectiveStatement
,EmptyErrorAppTagEffectiveStatement
,EmptyErrorMessageEffectiveStatement
,EmptyFeatureEffectiveStatement
,EmptyFractionDigitsEffectiveStatement
,EmptyIdentityEffectiveStatement
,EmptyIfFeatureEffectiveStatement
,EmptyIncludeEffectiveStatement
,EmptyLengthEffectiveStatement
,EmptyMandatoryEffectiveStatement
,EmptyMaxElementsEffectiveStatement
,EmptyMinElementsEffectiveStatement
,EmptyModifierEffectiveStatement
,EmptyMustEffectiveStatement
,EmptyNamespaceEffectiveStatement
,EmptyOrderedByEffectiveStatement
,EmptyOrganizationEffectiveStatement
,EmptyPathEffectiveStatement
,EmptyPatternEffectiveStatement
,EmptyPositionEffectiveStatement
,EmptyPrefixEffectiveStatement
,EmptyPresenceEffectiveStatement
,EmptyRangeEffectiveStatement
,EmptyReferenceEffectiveStatement
,EmptyRequireInstanceEffectiveStatement
,EmptyRevisionDateEffectiveStatement
,EmptyRevisionEffectiveStatement
,EmptyStatusEffectiveStatement
,EmptyUniqueEffectiveStatement
,EmptyUnitsEffectiveStatement
,EmptyValueEffectiveStatement
,EmptyWhenEffectiveStatement
,EmptyYangVersionEffectiveStatement
,EmptyYinElementEffectiveStatement
,ExtensionEffectiveStatementImpl
,RegularIdentityEffectiveStatement
- Enclosing class:
AbstractDeclaredEffectiveStatement<A,
D extends DeclaredStatement<A>>
public abstract static class AbstractDeclaredEffectiveStatement.DefaultArgument<A,D extends DeclaredStatement<A>>
extends AbstractDeclaredEffectiveStatement.Default<A,D>
An extra building block on top of
AbstractDeclaredEffectiveStatement.Default
, which is wiring argument()
to the declared statement.
This is mostly useful for arguments that are not subject to inference transformation -- for example Strings in
description
, etc. This explicitly is not true of statements which underwent namespace binding via
uses
or similar.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
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>>, AbstractDeclaredEffectiveStatement.DefaultWithSchemaTree<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.WithDataTree<A, D extends DeclaredStatement<A>>, AbstractDeclaredEffectiveStatement.WithSchemaTree<A, D extends DeclaredStatement<A>> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected MoreObjects.ToStringHelper
final A
argument()
Returns statement argument.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) ImmutableList
<? extends EffectiveStatement<?, ?>> Returns a collection of all effective substatements.final boolean
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 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.Default
getDeclared
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
statementDefinition
-
Constructor Details
-
DefaultArgument
-
DefaultArgument
-
-
Method Details
-
argument
Description copied from interface:ModelStatement
Returns statement argument.- Returns:
- statement argument.
-
effectiveSubstatements
Description copied from interface:EffectiveStatement
Returns a collection of all effective substatements.- Returns:
- collection of all effective substatements.
-
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)
-