Class AbstractInternedStatementSupport<A,D extends org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<A>,E extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<A,D>>
java.lang.Object
org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport<A,D,E>
org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport<A,D,E>
org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport<A,D,E>
- All Implemented Interfaces:
StatementFactory<A,D, E>
- Direct Known Subclasses:
AbstractInternedStringStatementSupport
@Beta
public abstract class AbstractInternedStatementSupport<A,D extends org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<A>,E extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<A,D>>
extends AbstractStatementSupport<A,D,E>
A
AbstractStatementSupport specialized for global interning. This base class is useful when the argument can
be reasonably interned and it dominates the EffectiveStatement implementation. Typical examples include
position and value statements, which typically do not have substatements and are based on simple
types.
Note: use of this base class implies context-independence.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport
StatementSupport.CopyPolicy, StatementSupport.StatementEquality<A,D extends org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<A>>, StatementSupport.StatementPolicy<A, D extends org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<A>> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractInternedStatementSupport(org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition publicDefinition, StatementSupport.StatementPolicy<A, D> policy, org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration config, @Nullable SubstatementValidator validator) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract @NonNull DcreateDeclared(@NonNull A argument, @NonNull com.google.common.collect.ImmutableList<org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<?>> substatements) protected final DcreateDeclared(BoundStmtCtx<A> ctx, com.google.common.collect.ImmutableList<org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<?>> substatements) protected abstract @NonNull EcreateEffective(@NonNull D declared, @NonNull com.google.common.collect.ImmutableList<? extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<?, ?>> substatements) protected final EcreateEffective(EffectiveStmtCtx.Current<A, D> stmt, com.google.common.collect.ImmutableList<? extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<?, ?>> substatements) protected abstract @NonNull DcreateEmptyDeclared(@NonNull A argument) protected abstract @NonNull EcreateEmptyEffective(@NonNull D declared) Methods inherited from class org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport
attachDeclarationReference, buildEffectiveSubstatements, copyEffective, createDeclared, createEffective, findFirstArgument, findFirstStatement, statementsToBuild, substatementValidatorMethods inherited from class org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupport
adaptArgumentValue, argumentName, canReuseCurrent, copyPolicy, definition, extractEffectiveState, getArgumentDefinition, getPublicView, getSupportSpecificForArgument, hasArgumentSpecificSupports, internArgument, isIgnoringConfig, isIgnoringIfFeatures, onFullDefinitionDeclared, onLinkageDeclared, onPreLinkageDeclared, onStatementAdded, onStatementDefinitionDeclared, parseArgumentValue, statementName
-
Constructor Details
-
AbstractInternedStatementSupport
protected AbstractInternedStatementSupport(org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition publicDefinition, StatementSupport.StatementPolicy<A, D> policy, org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration config, @Nullable SubstatementValidator validator)
-
-
Method Details
-
createDeclared
protected final D createDeclared(BoundStmtCtx<A> ctx, com.google.common.collect.ImmutableList<org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<?>> substatements) - Specified by:
createDeclaredin classAbstractStatementSupport<A,D extends org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<A>, E extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<A, D>>
-
createDeclared
-
createEmptyDeclared
-
createEffective
protected final E createEffective(EffectiveStmtCtx.Current<A, D> stmt, com.google.common.collect.ImmutableList<? extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<?, ?>> substatements) - Specified by:
createEffectivein classAbstractStatementSupport<A,D extends org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement<A>, E extends org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement<A, D>>
-
createEffective
-
createEmptyEffective
-