Class DeclaredEffectiveStatementBase<A,D extends DeclaredStatement<A>>
- java.lang.Object
-
- org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveStatement<A,D>
-
- org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementBase<A,D>
-
- org.opendaylight.yangtools.yang.parser.rfc7950.stmt.DeclaredEffectiveStatementBase<A,D>
-
- All Implemented Interfaces:
EffectiveStatement<A,D>
,ModelStatement<A>
- Direct Known Subclasses:
AbstractEffectiveDocumentedNode
public abstract class DeclaredEffectiveStatementBase<A,D extends DeclaredStatement<A>> extends EffectiveStatementBase<A,D>
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
DeclaredEffectiveStatementBase(StmtContext<A,D,?> ctx)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description A
argument()
Returns statement argument.D
getDeclared()
Returns statement, which was explicit declaration of this effective statement.StatementSource
getStatementSource()
Returns statement source, which denotes if statement was explicitly declared in original model or inferred during semantic processing of model.protected static @NonNull Object
maskList(ImmutableList<?> list)
Utility method for squashing singleton lists into single objects.protected static @NonNull Object
maskSet(ImmutableSet<?> set)
StatementDefinition
statementDefinition()
Statement Definition of this statement.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<? extends T>
unmaskSet(@NonNull Object masked, @NonNull Class<T> type)
-
Methods inherited from class org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementBase
allSubstatementsOfType, effectiveSubstatements, firstEffectiveSubstatementOfType, firstSchemaNode, firstSubstatementOfType, firstSubstatementOfType, initSubstatements
-
Methods inherited from class org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveStatement
get, getAll, getNamespaceContents, unmaskList
-
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
findAll, findFirstEffectiveSubstatement, findFirstEffectiveSubstatementArgument, streamEffectiveSubstatements
-
-
-
-
Constructor Detail
-
DeclaredEffectiveStatementBase
protected DeclaredEffectiveStatementBase(StmtContext<A,D,?> ctx)
Constructor.- Parameters:
ctx
- context of statement.
-
-
Method Detail
-
statementDefinition
public final StatementDefinition statementDefinition()
Description copied from interface:ModelStatement
Statement Definition of this statement.- Returns:
- definition of this statement.
-
argument
public A argument()
Description copied from interface:ModelStatement
Returns statement argument.- Returns:
- statement argument or null if statement does not have argument.
-
getStatementSource
public final StatementSource getStatementSource()
Description copied from interface:ModelStatement
Returns statement source, which denotes if statement was explicitly declared in original model or inferred during semantic processing of model.- Returns:
- statement source.
-
getDeclared
public final D getDeclared()
Description copied from interface:EffectiveStatement
Returns statement, which was explicit declaration of this effective statement.- Returns:
- statement, which was explicit declaration of this effective statement or null if statement was inferred from context.
-
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<? extends T> unmaskSet(@NonNull Object masked, @NonNull Class<T> type)
-
-