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.common.SchemaNodeIdentifier;
-import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
-import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ActionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.ActionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.RpcStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.EmptyRequireInstanceStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.EmptyStatusStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.decl.EmptyYangVersionStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.AbstractChoiceEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.AbstractContainerEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.AbstractLeafEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.ActionEffectiveStatementImpl;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.AugmentEffectiveStatementImpl;
-import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.ChoiceEffectiveStatementImpl;
-import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.ContainerEffectiveStatementImpl;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.DeclaredCaseEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.DeclaredInputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.DeclaredOutputEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyBaseEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyBelongsToEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyBitEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyChoiceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyConfigEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyContactEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyContainerEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyDefaultEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyDescriptionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyEnumEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyFeatureEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyForeignKeyEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyFractionDigitsEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyGroupingEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyIdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyIfFeatureEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyIncludeEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyYangVersionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.EmptyYinElementEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.ExtensionEffectiveStatementImpl;
-import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.GroupingEffectiveStatementImpl;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.ImportEffectiveStatementImpl;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.NotificationEffectiveStatementImpl;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularAnydataEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularBaseEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularBelongsToEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularBitEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularChoiceEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularConfigEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularContactEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularContainerEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularDefaultEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularDescriptionEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularEnumEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularFeatureEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularForeignKeyEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularFractionDigitsEffectiveStatement;
+import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularGroupingEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularIdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularIfFeatureEffectiveStatement;
import org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff.RegularIncludeEffectiveStatement;
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 AnydataEffectiveStatement copyAnydata(final AnydataEffectiveStatement original, final QName argument,
- final int flags, final @Nullable AnydataSchemaNode newOriginal) {
+ final int flags) {
if (original instanceof RegularAnydataEffectiveStatement) {
- return new RegularAnydataEffectiveStatement((RegularAnydataEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new RegularAnydataEffectiveStatement((RegularAnydataEffectiveStatement) original, argument, flags);
} else if (original instanceof EmptyAnydataEffectiveStatement) {
- return new EmptyAnydataEffectiveStatement((EmptyAnydataEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new EmptyAnydataEffectiveStatement((EmptyAnydataEffectiveStatement) original, argument, flags);
} else {
throw new IllegalArgumentException("Unsupported original " + original);
}
}
public static AnydataEffectiveStatement createAnydata(final AnydataStatement declared, final QName argument,
- final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable AnydataSchemaNode original) {
- return substatements.isEmpty() ? new EmptyAnydataEffectiveStatement(declared, argument, flags, original)
- : new RegularAnydataEffectiveStatement(declared, argument, flags, original, substatements);
+ final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+ return substatements.isEmpty() ? new EmptyAnydataEffectiveStatement(declared, argument, flags)
+ : new RegularAnydataEffectiveStatement(declared, argument, flags, substatements);
}
public static AnyxmlEffectiveStatement copyAnyxml(final AnyxmlEffectiveStatement original, final QName argument,
- final int flags, final @Nullable AnyxmlSchemaNode newOriginal) {
+ final int flags) {
if (original instanceof RegularAnyxmlEffectiveStatement) {
- return new RegularAnyxmlEffectiveStatement((RegularAnyxmlEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new RegularAnyxmlEffectiveStatement((RegularAnyxmlEffectiveStatement) original, argument, flags);
} else if (original instanceof EmptyAnyxmlEffectiveStatement) {
- return new EmptyAnyxmlEffectiveStatement((EmptyAnyxmlEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new EmptyAnyxmlEffectiveStatement((EmptyAnyxmlEffectiveStatement) original, argument, flags);
} else {
throw new IllegalArgumentException("Unsupported original " + original);
}
}
public static AnyxmlEffectiveStatement createAnyxml(final AnyxmlStatement declared, final QName argument,
- final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable AnyxmlSchemaNode original) {
- return substatements.isEmpty() ? new EmptyAnyxmlEffectiveStatement(declared, argument, flags, original)
- : new RegularAnyxmlEffectiveStatement(declared, argument, flags, original, substatements);
+ final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+ return substatements.isEmpty() ? new EmptyAnyxmlEffectiveStatement(declared, argument, flags)
+ : new RegularAnyxmlEffectiveStatement(declared, argument, flags, substatements);
}
public static ArgumentEffectiveStatement createArgument(final ArgumentStatement declared,
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 copyCase(final CaseEffectiveStatement original, final QName argument,
- final int flags, final @Nullable CaseSchemaNode newOriginal) {
+ final int flags) {
if (original instanceof DeclaredCaseEffectiveStatement) {
- return new DeclaredCaseEffectiveStatement((DeclaredCaseEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new DeclaredCaseEffectiveStatement((DeclaredCaseEffectiveStatement) original, argument, flags);
} else if (original instanceof UndeclaredCaseEffectiveStatement) {
- return new UndeclaredCaseEffectiveStatement((UndeclaredCaseEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new UndeclaredCaseEffectiveStatement((UndeclaredCaseEffectiveStatement) original, argument, flags);
} else {
throw new IllegalArgumentException("Unsupported origin " + original);
}
}
- public static CaseEffectiveStatement createCase(final QName argument, final int flags,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable CaseSchemaNode original) {
- return new UndeclaredCaseEffectiveStatement(substatements, argument, flags, original);
- }
-
public static CaseEffectiveStatement createCase(final CaseStatement declared, final QName argument,
- final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable CaseSchemaNode original) {
- return new DeclaredCaseEffectiveStatement(declared, substatements, argument, flags, original);
+ final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+ return new DeclaredCaseEffectiveStatement(declared, substatements, argument, flags);
}
public static ChoiceEffectiveStatement copyChoice(final ChoiceEffectiveStatement original,
- final QName argument, final int flags, final @Nullable ChoiceSchemaNode newOriginal) {
- checkArgument(original instanceof ChoiceEffectiveStatementImpl, "Unsupported original %s", original);
- return new ChoiceEffectiveStatementImpl((ChoiceEffectiveStatementImpl) original, argument, flags, newOriginal);
+ final QName argument, final int flags) {
+ checkArgument(original instanceof AbstractChoiceEffectiveStatement, "Unsupported original %s", original);
+ final var orig = (AbstractChoiceEffectiveStatement) original;
+ return argument.equals(orig.getDeclared().argument()) && orig.getDefaultCase().isEmpty()
+ ? new EmptyChoiceEffectiveStatement(orig, flags)
+ : new RegularChoiceEffectiveStatement((AbstractChoiceEffectiveStatement) original, argument, flags);
}
public static ChoiceEffectiveStatement createChoice(final ChoiceStatement declared, final QName argument,
final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable CaseSchemaNode defaultCase, final @Nullable ChoiceSchemaNode original) {
- return new ChoiceEffectiveStatementImpl(declared, substatements, argument, flags, defaultCase, original);
+ final @Nullable CaseSchemaNode defaultCase) {
+ return defaultCase == null && argument.equals(declared.argument())
+ ? new EmptyChoiceEffectiveStatement(declared, substatements, flags)
+ : new RegularChoiceEffectiveStatement(declared, substatements, argument, flags, defaultCase);
}
public static ConfigEffectiveStatement createConfig(final boolean argument) {
}
public static ContainerEffectiveStatement copyContainer(final ContainerEffectiveStatement original,
- final QName argument, final int flags, final @Nullable ContainerSchemaNode orig) {
- checkArgument(original instanceof ContainerEffectiveStatementImpl, "Unsupported original %s", original);
- return new ContainerEffectiveStatementImpl((ContainerEffectiveStatementImpl) original, argument, flags, orig);
+ final QName argument, final int flags) {
+ checkArgument(original instanceof AbstractContainerEffectiveStatement, "Unsupported original %s", original);
+ final var orig = (AbstractContainerEffectiveStatement) original;
+ return argument.equals(orig.getDeclared().argument()) ? new EmptyContainerEffectiveStatement(orig, flags)
+ : new RegularContainerEffectiveStatement(orig, argument, flags);
}
public static ContainerEffectiveStatement createContainer(final ContainerStatement declared, final QName argument,
- final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable ContainerSchemaNode original) {
- return new ContainerEffectiveStatementImpl(declared, substatements, argument, flags, original);
+ final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+ return argument.equals(declared.argument())
+ ? new EmptyContainerEffectiveStatement(declared, substatements, flags)
+ : new RegularContainerEffectiveStatement(declared, substatements, argument, flags);
}
public static DefaultEffectiveStatement createDefault(final DefaultStatement declared,
public static GroupingEffectiveStatement createGrouping(final GroupingStatement declared,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements, final QName argument,
final int flags) throws SubstatementIndexingException {
- return new GroupingEffectiveStatementImpl(declared, substatements, argument, flags);
+ return argument.equals(declared.argument())
+ ? new EmptyGroupingEffectiveStatement(declared, substatements, flags)
+ : new RegularGroupingEffectiveStatement(declared, substatements, argument, flags);
}
public static IfFeatureEffectiveStatement createIfFeature(final IfFeatureStatement declared,
}
}
- 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, final @Nullable LeafSchemaNode newOriginal) {
- checkArgument(original instanceof AbstractLeafEffectiveStatement, "Unsupported original %s", original);
- return new RegularLeafEffectiveStatement((AbstractLeafEffectiveStatement) original, argument, flags,
- newOriginal);
+ final int 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,
- final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final @Nullable LeafSchemaNode original) throws SubstatementIndexingException {
- return original == null ? new EmptyLeafEffectiveStatement(declared, argument, flags, substatements)
- : new RegularLeafEffectiveStatement(declared, argument, flags, substatements, original);
+ final ImmutableList<? extends EffectiveStatement<?, ?>> substatements)
+ throws SubstatementIndexingException {
+ return argument.equals(declared.argument()) ? new EmptyLeafEffectiveStatement(declared, flags, substatements)
+ : new RegularLeafEffectiveStatement(declared, argument, flags, substatements);
}
public static LeafListEffectiveStatement copyLeafList(final LeafListEffectiveStatement original,
- final QName argument, final int flags, final @Nullable LeafListSchemaNode newOriginal) {
+ final QName argument, final int flags) {
if (original instanceof RegularLeafListEffectiveStatement) {
- return new RegularLeafListEffectiveStatement((RegularLeafListEffectiveStatement) original, newOriginal,
- argument, flags);
+ return new RegularLeafListEffectiveStatement((RegularLeafListEffectiveStatement) original, argument, flags);
} else if (original instanceof SlimLeafListEffectiveStatement) {
- return new SlimLeafListEffectiveStatement((SlimLeafListEffectiveStatement) original, newOriginal, argument,
- flags);
+ return new SlimLeafListEffectiveStatement((SlimLeafListEffectiveStatement) original, argument, flags);
} else if (original instanceof EmptyLeafListEffectiveStatement) {
// Promote to slim
- return new SlimLeafListEffectiveStatement((EmptyLeafListEffectiveStatement) original, newOriginal, argument,
- flags);
+ return new SlimLeafListEffectiveStatement((EmptyLeafListEffectiveStatement) original, argument, flags);
} else {
throw new IllegalArgumentException("Unsupported original " + original);
}
public static LeafListEffectiveStatement createLeafList(final LeafListStatement declared, final QName argument,
final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final ImmutableSet<String> defaultValues, final @Nullable ElementCountConstraint elementCountConstraint,
- final @Nullable LeafListSchemaNode original)
+ final ImmutableSet<String> defaultValues, final @Nullable ElementCountConstraint elementCountConstraint)
throws SubstatementIndexingException {
if (defaultValues.isEmpty()) {
- return original == null && elementCountConstraint == null
- ? new EmptyLeafListEffectiveStatement(declared, argument, flags, substatements)
- : new SlimLeafListEffectiveStatement(declared, argument, flags, substatements, original,
+ return elementCountConstraint == null && argument.equals(declared.argument())
+ ? new EmptyLeafListEffectiveStatement(declared, flags, substatements)
+ : new SlimLeafListEffectiveStatement(declared, argument, flags, substatements,
elementCountConstraint);
}
- return new RegularLeafListEffectiveStatement(declared, argument, flags, substatements, original, defaultValues,
+ return new RegularLeafListEffectiveStatement(declared, argument, flags, substatements, defaultValues,
elementCountConstraint);
}
}
public static ListEffectiveStatement copyList(final ListEffectiveStatement original, final QName argument,
- final int flags, final @Nullable ListSchemaNode newOriginal) {
+ final int flags) {
if (original instanceof RegularListEffectiveStatement) {
- return new RegularListEffectiveStatement((RegularListEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new RegularListEffectiveStatement((RegularListEffectiveStatement) original, argument, flags);
} else if (original instanceof EmptyListEffectiveStatement) {
- return new RegularListEffectiveStatement((EmptyListEffectiveStatement) original, argument, flags,
- newOriginal);
+ return new RegularListEffectiveStatement((EmptyListEffectiveStatement) original, argument, flags);
} else {
throw new IllegalArgumentException("Unsupported original " + original);
}
public static ListEffectiveStatement createList(final ListStatement declared, final QName argument,
final int flags, final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
- final ImmutableList<QName> keyDefinition, final @Nullable ElementCountConstraint elementCountConstraint,
- final @Nullable ListSchemaNode original) {
- return original == null && elementCountConstraint == null
- ? new EmptyListEffectiveStatement(declared, argument, flags, substatements, keyDefinition)
+ final ImmutableList<QName> keyDefinition, final @Nullable ElementCountConstraint elementCountConstraint) {
+ return elementCountConstraint == null && argument.equals(declared.argument())
+ ? new EmptyListEffectiveStatement(declared, flags, substatements, keyDefinition)
: new RegularListEffectiveStatement(declared, argument, flags, substatements, keyDefinition,
- elementCountConstraint, original);
+ elementCountConstraint);
}
public static MandatoryEffectiveStatement createMandatory(final MandatoryStatement declared) {
}
}
- 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 {