import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement;
import org.opendaylight.yangtools.yang.parser.spi.ExtensionNamespace;
protected UnknownEffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
super(ctx);
- final StmtContext<?, ExtensionStatement, EffectiveStatement<QName, ExtensionStatement>> extensionInit =
+ final StmtContext<?, ExtensionStatement, ExtensionEffectiveStatement> extensionInit =
ctx.getFromNamespace(ExtensionNamespace.class, ctx.getPublicDefinition().getStatementName());
if (extensionInit == null) {
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement;
import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
abstract class AbstractIdentityStatementSupport
- extends AbstractQNameStatementSupport<IdentityStatement, EffectiveStatement<QName, IdentityStatement>> {
+ extends AbstractQNameStatementSupport<IdentityStatement, IdentityEffectiveStatement> {
AbstractIdentityStatementSupport() {
super(YangStmtMapping.IDENTITY);
}
@Override
- public final EffectiveStatement<QName, IdentityStatement> createEffective(
- final StmtContext<QName, IdentityStatement, EffectiveStatement<QName, IdentityStatement>> ctx) {
+ public final IdentityEffectiveStatement createEffective(
+ final StmtContext<QName, IdentityStatement, IdentityEffectiveStatement> ctx) {
return new IdentityEffectiveStatementImpl(ctx);
}
@Override
- public final void onStatementDefinitionDeclared(final StmtContext.Mutable<QName, IdentityStatement,
- EffectiveStatement<QName, IdentityStatement>> stmt) {
+ public final void onStatementDefinitionDeclared(
+ final Mutable<QName, IdentityStatement, IdentityEffectiveStatement> stmt) {
stmt.addToNs(IdentityNamespace.class, stmt.coerceStatementArgument(), stmt);
}
-}
\ No newline at end of file
+}
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement;
import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveSchemaNode;
private @NonNull Set<IdentitySchemaNode> baseIdentities;
private boolean sealed;
- IdentityEffectiveStatementImpl(
- final StmtContext<QName, IdentityStatement, EffectiveStatement<QName, IdentityStatement>> ctx) {
+ IdentityEffectiveStatementImpl(final StmtContext<QName, IdentityStatement, IdentityEffectiveStatement> ctx) {
super(ctx);
this.baseIdentities = new HashSet<>();
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.Revision;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
import org.opendaylight.yangtools.yang.parser.spi.source.PrefixToModule;
import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-abstract class AbstractModuleStatementSupport extends
- AbstractStatementSupport<String, ModuleStatement, EffectiveStatement<String, ModuleStatement>> {
+abstract class AbstractModuleStatementSupport
+ extends AbstractStatementSupport<String, ModuleStatement, ModuleEffectiveStatement> {
AbstractModuleStatementSupport() {
super(YangStmtMapping.MODULE);
}
}
@Override
- public final EffectiveStatement<String, ModuleStatement> createEffective(
- final StmtContext<String, ModuleStatement, EffectiveStatement<String, ModuleStatement>> ctx) {
+ public final ModuleEffectiveStatement createEffective(
+ final StmtContext<String, ModuleStatement, ModuleEffectiveStatement> ctx) {
return new ModuleEffectiveStatementImpl(ctx);
}
@Override
- public final void onPreLinkageDeclared(final Mutable<String, ModuleStatement,
- EffectiveStatement<String, ModuleStatement>> stmt) {
+ public final void onPreLinkageDeclared(final Mutable<String, ModuleStatement, ModuleEffectiveStatement> stmt) {
final String moduleName = stmt.getStatementArgument();
final URI moduleNs = firstAttributeOf(stmt.declaredSubstatements(), NamespaceStatement.class);
}
@Override
- public final void onLinkageDeclared(final Mutable<String, ModuleStatement,
- EffectiveStatement<String, ModuleStatement>> stmt) {
+ public final void onLinkageDeclared(final Mutable<String, ModuleStatement, ModuleEffectiveStatement> stmt) {
final Optional<URI> moduleNs = Optional.ofNullable(firstAttributeOf(stmt.declaredSubstatements(),
NamespaceStatement.class));
final Optional<Revision> revisionDate = StmtContextUtils.getLatestRevision(stmt.declaredSubstatements());
final QNameModule qNameModule = QNameModule.create(moduleNs.get(), revisionDate.orElse(null)).intern();
- final StmtContext<?, ModuleStatement, EffectiveStatement<String, ModuleStatement>> possibleDuplicateModule =
+ final StmtContext<?, ModuleStatement, ModuleEffectiveStatement> possibleDuplicateModule =
stmt.getFromNamespace(NamespaceToModule.class, qNameModule);
if (possibleDuplicateModule != null && possibleDuplicateModule != stmt) {
throw new SourceException(stmt.getStatementSourceReference(), "Module namespace collision: %s. At %s",
}
private static void addToSemVerModuleNamespace(
- final Mutable<String, ModuleStatement, EffectiveStatement<String, ModuleStatement>> stmt,
+ final Mutable<String, ModuleStatement, ModuleEffectiveStatement> stmt,
final SourceIdentifier moduleIdentifier) {
final String moduleName = stmt.coerceStatementArgument();
final SemVer moduleSemVer = stmt.getFromNamespace(SemanticVersionNamespace.class, stmt);
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatementNamespace;
private final ImmutableMap<QNameModule, String> namespaceToPrefix;
private final @NonNull QNameModule qnameModule;
- ModuleEffectiveStatementImpl(
- final StmtContext<String, ModuleStatement, EffectiveStatement<String, ModuleStatement>> ctx) {
+ ModuleEffectiveStatementImpl(final StmtContext<String, ModuleStatement, ModuleEffectiveStatement> ctx) {
super(ctx);
qnameModule = verifyNotNull(ctx.getFromNamespace(ModuleCtxToModuleQName.class, ctx));
: ImmutableMap.copyOf(Maps.transformValues(submodules,
submodule -> (SubmoduleEffectiveStatement) submodule.buildEffective()));
- final Map<QName, StmtContext<?, ExtensionStatement, EffectiveStatement<QName, ExtensionStatement>>> extensions =
+ final Map<QName, StmtContext<?, ExtensionStatement, ExtensionEffectiveStatement>> extensions =
ctx.getAllFromCurrentStmtCtxNamespace(ExtensionNamespace.class);
qnameToExtension = extensions == null ? ImmutableMap.of()
- : ImmutableMap.copyOf(Maps.transformValues(extensions,
- stmt -> (ExtensionEffectiveStatement) stmt.buildEffective()));
- final Map<QName, StmtContext<?, FeatureStatement, EffectiveStatement<QName, FeatureStatement>>> features =
+ : ImmutableMap.copyOf(Maps.transformValues(extensions, StmtContext::buildEffective));
+ final Map<QName, StmtContext<?, FeatureStatement, FeatureEffectiveStatement>> features =
ctx.getAllFromCurrentStmtCtxNamespace(FeatureNamespace.class);
qnameToFeature = features == null ? ImmutableMap.of()
- : ImmutableMap.copyOf(Maps.transformValues(features,
- stmt -> (FeatureEffectiveStatement) stmt.buildEffective()));
- final Map<QName, StmtContext<?, IdentityStatement, EffectiveStatement<QName, IdentityStatement>>> identities =
+ : ImmutableMap.copyOf(Maps.transformValues(features, StmtContext::buildEffective));
+ final Map<QName, StmtContext<?, IdentityStatement, IdentityEffectiveStatement>> identities =
ctx.getAllFromCurrentStmtCtxNamespace(IdentityNamespace.class);
qnameToIdentity = identities == null ? ImmutableMap.of()
- : ImmutableMap.copyOf(Maps.transformValues(identities,
- stmt -> (IdentityEffectiveStatement) stmt.buildEffective()));
+ : ImmutableMap.copyOf(Maps.transformValues(identities, StmtContext::buildEffective));
}
@Override
import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.firstAttributeOf;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
abstract class AbstractSubmoduleStatementSupport
- extends AbstractStatementSupport<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> {
+ extends AbstractStatementSupport<String, SubmoduleStatement, SubmoduleEffectiveStatement> {
AbstractSubmoduleStatementSupport() {
super(YangStmtMapping.SUBMODULE);
}
}
@Override
- public final EffectiveStatement<String, SubmoduleStatement> createEffective(
- final StmtContext<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> ctx) {
+ public final SubmoduleEffectiveStatement createEffective(
+ final StmtContext<String, SubmoduleStatement, SubmoduleEffectiveStatement> ctx) {
return new SubmoduleEffectiveStatementImpl(ctx);
}
@Override
public final void onPreLinkageDeclared(
- final Mutable<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> stmt) {
+ final Mutable<String, SubmoduleStatement, SubmoduleEffectiveStatement> stmt) {
stmt.setRootIdentifier(RevisionSourceIdentifier.create(stmt.getStatementArgument(),
StmtContextUtils.getLatestRevision(stmt.declaredSubstatements())));
}
@Override
- public final void onLinkageDeclared(
- final Mutable<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> stmt) {
+ public final void onLinkageDeclared(final Mutable<String, SubmoduleStatement, SubmoduleEffectiveStatement> stmt) {
final SourceIdentifier submoduleIdentifier = RevisionSourceIdentifier.create(stmt.coerceStatementArgument(),
StmtContextUtils.getLatestRevision(stmt.declaredSubstatements()));
- final StmtContext<?, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>>
+ final StmtContext<?, SubmoduleStatement, SubmoduleEffectiveStatement>
possibleDuplicateSubmodule = stmt.getFromNamespace(SubmoduleNamespace.class, submoduleIdentifier);
if (possibleDuplicateSubmodule != null && possibleDuplicateSubmodule != stmt) {
throw new SourceException(stmt.getStatementSourceReference(), "Submodule name collision: %s. At %s",
stmt.addToNs(BelongsToPrefixToModuleName.class, prefix, belongsToModuleName);
}
-}
\ No newline at end of file
+}
import java.util.Optional;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.Revision;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement;
private final QNameModule qnameModule;
- SubmoduleEffectiveStatementImpl(
- final StmtContext<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> ctx) {
+ SubmoduleEffectiveStatementImpl(final StmtContext<String, SubmoduleStatement, SubmoduleEffectiveStatement> ctx) {
super(ctx);
final String belongsToModuleName = firstAttributeOf(ctx.declaredSubstatements(), BelongsToStatement.class);
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypeEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.IdentityRefSpecification;
for (final EffectiveStatement<?, ?> stmt : effectiveSubstatements()) {
if (stmt instanceof BaseEffectiveStatement) {
final QName identityQName = ((BaseEffectiveStatement) stmt).argument();
- final StmtContext<?, IdentityStatement, EffectiveStatement<QName, IdentityStatement>> identityCtx =
+ final StmtContext<?, IdentityStatement, IdentityEffectiveStatement> identityCtx =
ctx.getFromNamespace(IdentityNamespace.class, identityQName);
builder.addIdentity((IdentitySchemaNode) identityCtx.buildEffective());
}
import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
import org.opendaylight.yangtools.yang.model.api.UsesNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.stmt.UsesEffectiveStatement;
super(ctx);
// initGroupingPath
- final StmtContext<?, GroupingStatement, EffectiveStatement<QName, GroupingStatement>> grpCtx =
+ final StmtContext<?, GroupingStatement, GroupingEffectiveStatement> grpCtx =
ctx.getFromNamespace(GroupingNamespace.class, ctx.coerceStatementArgument());
this.groupingPath = grpCtx.getSchemaPath().get();
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
* extension identifier namespace, where each extension is identified by a QName formed from the
* defining module's QNameModule and the identifier specified in extension statement's argument.
*/
-public interface ExtensionNamespace
- extends StatementNamespace<QName, ExtensionStatement, EffectiveStatement<QName, ExtensionStatement>> {
- NamespaceBehaviour<QName, StmtContext<?, ExtensionStatement, EffectiveStatement<QName, ExtensionStatement>>,
+public interface ExtensionNamespace extends StatementNamespace<QName, ExtensionStatement, ExtensionEffectiveStatement> {
+ NamespaceBehaviour<QName, StmtContext<?, ExtensionStatement, ExtensionEffectiveStatement>,
@NonNull ExtensionNamespace> BEHAVIOUR = NamespaceBehaviour.global(ExtensionNamespace.class);
}
package org.opendaylight.yangtools.yang.parser.spi;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
* same feature identifier namespace. Each feature is identified by a QName formed from
* the defining module's QNameModule and the feature name.
*/
-public interface FeatureNamespace
- extends StatementNamespace<QName, FeatureStatement, EffectiveStatement<QName, FeatureStatement>> {
+public interface FeatureNamespace extends StatementNamespace<QName, FeatureStatement, FeatureEffectiveStatement> {
}
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace.TreeScoped;
* <p>
* This means that any descendant node may use that grouping, and it MUST NOT define a grouping with the same name.
*/
-public interface GroupingNamespace
- extends TreeScoped<QName, GroupingStatement, EffectiveStatement<QName, GroupingStatement>> {
- NamespaceBehaviour<QName, StmtContext<?, GroupingStatement, EffectiveStatement<QName, GroupingStatement>>,
+public interface GroupingNamespace extends TreeScoped<QName, GroupingStatement, GroupingEffectiveStatement> {
+ NamespaceBehaviour<QName, StmtContext<?, GroupingStatement, GroupingEffectiveStatement>,
@NonNull GroupingNamespace> BEHAVIOUR = NamespaceBehaviour.treeScoped(GroupingNamespace.class);
}
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
* namespace.
*/
public interface IdentityNamespace extends
- StatementNamespace<QName, IdentityStatement, EffectiveStatement<QName, IdentityStatement>> {
- NamespaceBehaviour<QName, StmtContext<?, IdentityStatement, EffectiveStatement<QName, IdentityStatement>>,
+ StatementNamespace<QName, IdentityStatement, IdentityEffectiveStatement> {
+ NamespaceBehaviour<QName, StmtContext<?, IdentityStatement, IdentityEffectiveStatement>,
@NonNull IdentityNamespace> BEHAVIOUR = NamespaceBehaviour.global(IdentityNamespace.class);
}
package org.opendaylight.yangtools.yang.parser.spi;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
* Module namespace. All modules known to the reactor are populated to this namespace. Each module is identified
* by a {@link SourceIdentifier}.
*/
-public interface ModuleNamespace extends
- StatementNamespace<SourceIdentifier, ModuleStatement, EffectiveStatement<String, ModuleStatement>> {
- NamespaceBehaviour<SourceIdentifier, StmtContext<?, ModuleStatement, EffectiveStatement<String, ModuleStatement>>,
+public interface ModuleNamespace
+ extends StatementNamespace<SourceIdentifier, ModuleStatement, ModuleEffectiveStatement> {
+ NamespaceBehaviour<SourceIdentifier, StmtContext<?, ModuleStatement, ModuleEffectiveStatement>,
@NonNull ModuleNamespace> BEHAVIOUR = NamespaceBehaviour.global(ModuleNamespace.class);
}
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
/**
* A derived namespace allowing lookup of modules based on their {@link QNameModule}.
*/
-public interface NamespaceToModule
- extends StatementNamespace<QNameModule, ModuleStatement, EffectiveStatement<String, ModuleStatement>> {
- NamespaceBehaviour<QNameModule, StmtContext<?, ModuleStatement, EffectiveStatement<String, ModuleStatement>>,
+public interface NamespaceToModule extends StatementNamespace<QNameModule, ModuleStatement, ModuleEffectiveStatement> {
+ NamespaceBehaviour<QNameModule, StmtContext<?, ModuleStatement, ModuleEffectiveStatement>,
@NonNull NamespaceToModule> BEHAVIOUR = NamespaceBehaviour.global(NamespaceToModule.class);
}
package org.opendaylight.yangtools.yang.parser.spi;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
* Intermediate-stage namespace equivalent to ModuleNamespace except it is keyed by module names. This namespace is
* used to resolve inter-module references before actual linkage occurs.
*/
-public interface PreLinkageModuleNamespace extends
- StatementNamespace<String, ModuleStatement, EffectiveStatement<String, ModuleStatement>> {
- NamespaceBehaviour<String, StmtContext<?, ModuleStatement, EffectiveStatement<String, ModuleStatement>>,
+public interface PreLinkageModuleNamespace
+ extends StatementNamespace<String, ModuleStatement, ModuleEffectiveStatement> {
+ NamespaceBehaviour<String, StmtContext<?, ModuleStatement, ModuleEffectiveStatement>,
@NonNull PreLinkageModuleNamespace> BEHAVIOUR = NamespaceBehaviour.global(PreLinkageModuleNamespace.class);
}
package org.opendaylight.yangtools.yang.parser.spi;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
*/
// FIXME: describe scoping of this namespace
public interface SubmoduleNamespace
- extends StatementNamespace<SourceIdentifier, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> {
- NamespaceBehaviour<SourceIdentifier, StmtContext<?, SubmoduleStatement,
- EffectiveStatement<String, SubmoduleStatement>>, @NonNull SubmoduleNamespace> BEHAVIOUR =
+ extends StatementNamespace<SourceIdentifier, SubmoduleStatement, SubmoduleEffectiveStatement> {
+ NamespaceBehaviour<SourceIdentifier, StmtContext<?, SubmoduleStatement, SubmoduleEffectiveStatement>,
+ @NonNull SubmoduleNamespace> BEHAVIOUR =
NamespaceBehaviour.global(SubmoduleNamespace.class);
}
import com.google.common.annotations.Beta;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier;
*/
@Beta
public interface SemanticVersionModuleNamespace
- extends StatementNamespace<SemVerSourceIdentifier, ModuleStatement, EffectiveStatement<String, ModuleStatement>> {
- NamespaceBehaviour<SemVerSourceIdentifier, StmtContext<?, ModuleStatement,
- EffectiveStatement<String, ModuleStatement>>, @NonNull SemanticVersionModuleNamespace> BEHAVIOUR =
+ extends StatementNamespace<SemVerSourceIdentifier, ModuleStatement, ModuleEffectiveStatement> {
+ NamespaceBehaviour<SemVerSourceIdentifier, StmtContext<?, ModuleStatement, ModuleEffectiveStatement>,
+ @NonNull SemanticVersionModuleNamespace> BEHAVIOUR =
NamespaceBehaviour.global(SemanticVersionModuleNamespace.class);
}
package org.opendaylight.yangtools.yang.parser.spi.source;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
import org.opendaylight.yangtools.yang.parser.spi.meta.StatementNamespace;
* namespace class similar to {@link org.opendaylight.yangtools.yang.parser.spi.ModuleNamespace} for storing modules
* into Yang model storage but keyed by plain name.
*/
-public interface ModuleNamespaceForBelongsTo extends
- StatementNamespace<String, ModuleStatement, EffectiveStatement<String, ModuleStatement>> {
- NamespaceBehaviour<String, StmtContext<?, ModuleStatement, EffectiveStatement<String, ModuleStatement>>,
- @NonNull ModuleNamespaceForBelongsTo> BEHAVIOUR = NamespaceBehaviour.global(
- ModuleNamespaceForBelongsTo.class);
+public interface ModuleNamespaceForBelongsTo
+ extends StatementNamespace<String, ModuleStatement, ModuleEffectiveStatement> {
+ NamespaceBehaviour<String, StmtContext<?, ModuleStatement, ModuleEffectiveStatement>,
+ @NonNull ModuleNamespaceForBelongsTo> BEHAVIOUR = NamespaceBehaviour.global(ModuleNamespaceForBelongsTo.class);
}