import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.TypedefEffectiveStatementImpl;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredCaseEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredInputEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredLeafEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.UndeclaredOutputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.spi.meta.SubstatementIndexingException;
/**
- * Static entry point to instantiating {@link EffectiveStatement} covered in the {@code RFC7950} metamodel.
+ * Static entry point to instantiating declared {@link EffectiveStatement} covered in the {@code RFC7950} metamodel.
*/
@Beta
@NonNullByDefault
public static AugmentEffectiveStatement createAugment(final AugmentStatement declared,
final SchemaNodeIdentifier argument, final int flags, final QNameModule rootModuleQName,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable AugmentationSchemaNode original) throws SubstatementIndexingException {
- return new AugmentEffectiveStatementImpl(declared, argument, flags, rootModuleQName, substatements, original);
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
+ throws SubstatementIndexingException {
+ return new AugmentEffectiveStatementImpl(declared, argument, flags, rootModuleQName, substatements);
}
public static BaseEffectiveStatement createBase(final BaseStatement declared,
}
}
- public static CaseEffectiveStatement createCase(final QName argument, final int flags,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
- return new UndeclaredCaseEffectiveStatement(substatements, argument, flags);
- }
-
public static CaseEffectiveStatement createCase(final CaseStatement declared, final QName argument,
final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
return new DeclaredCaseEffectiveStatement(declared, substatements, argument, flags);
}
}
- public static InputEffectiveStatement createInput(final QName argument, final int flags,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
- throws SubstatementIndexingException {
- return new UndeclaredInputEffectiveStatement(substatements, argument, flags);
- }
-
public static InputEffectiveStatement createInput(final InputStatement declared, final QName argument,
final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
throws SubstatementIndexingException {
public static LeafEffectiveStatement copyLeaf(final LeafEffectiveStatement original, final QName argument,
final int flags) {
- checkArgument(original instanceof AbstractLeafEffectiveStatement, "Unsupported original %s", original);
- final var orig = (AbstractLeafEffectiveStatement) original;
- return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags)
- : new RegularLeafEffectiveStatement(orig, argument, flags);
+ if (original instanceof AbstractLeafEffectiveStatement) {
+ final var orig = (AbstractLeafEffectiveStatement) original;
+ return argument.equals(orig.getDeclared().argument()) ? new EmptyLeafEffectiveStatement(orig, flags)
+ : new RegularLeafEffectiveStatement(orig, argument, flags);
+ } else if (original instanceof UndeclaredLeafEffectiveStatement) {
+ return new UndeclaredLeafEffectiveStatement((UndeclaredLeafEffectiveStatement) original, argument, flags);
+ } else {
+ throw new IllegalArgumentException("Unsupported original " + original);
+ }
}
public static LeafEffectiveStatement createLeaf(final LeafStatement declared, final QName argument, final int flags,
}
}
- public static OutputEffectiveStatement createOutput(final QName argument, final int flags,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
- throws SubstatementIndexingException {
- return new UndeclaredOutputEffectiveStatement(substatements, argument, flags);
- }
-
public static OutputEffectiveStatement createOutput(final OutputStatement declared, final QName argument,
final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
throws SubstatementIndexingException {