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) {
- return elementCountConstraint == null
- ? new EmptyListEffectiveStatement(declared, argument, flags, substatements, keyDefinition)
+ return elementCountConstraint == null && argument.equals(declared.argument())
+ ? new EmptyListEffectiveStatement(declared, flags, substatements, keyDefinition)
: new RegularListEffectiveStatement(declared, argument, flags, substatements, keyDefinition,
elementCountConstraint);
}
*/
package org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff;
-import static java.util.Objects.requireNonNull;
-
import com.google.common.collect.ImmutableList;
import java.util.Collection;
import java.util.List;
AugmentationTargetMixin<QName, ListStatement>, NotificationNodeContainerMixin<QName, ListStatement>,
ActionNodeContainerMixin<QName, ListStatement>, MustConstraintMixin<QName, ListStatement> {
private final int flags;
- private final @NonNull QName argument;
private final @NonNull Object keyDefinition;
- AbstractListEffectiveStatement(final ListStatement declared, final QName argument, final int flags,
+ AbstractListEffectiveStatement(final ListStatement declared, final int flags,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
final ImmutableList<QName> keyDefinition) {
super(declared, substatements);
- this.argument = requireNonNull(argument);
this.keyDefinition = maskList(keyDefinition);
this.flags = flags;
}
- AbstractListEffectiveStatement(final AbstractListEffectiveStatement original, final QName argument,
- final int flags) {
+ AbstractListEffectiveStatement(final AbstractListEffectiveStatement original, final int flags) {
super(original);
- this.argument = requireNonNull(argument);
- this.keyDefinition = original.keyDefinition;
+ keyDefinition = original.keyDefinition;
this.flags = flags;
}
- @Override
- public final QName argument() {
- return argument;
- }
-
@Override
public final int flags() {
return flags;
import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement;
public final class EmptyListEffectiveStatement extends AbstractListEffectiveStatement {
- public EmptyListEffectiveStatement(final ListStatement declared, final QName argument, final int flags,
+ public EmptyListEffectiveStatement(final ListStatement declared, final int flags,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
final ImmutableList<QName> keyDefinition) {
- super(declared, argument, flags, substatements, keyDefinition);
+ super(declared, flags, substatements, keyDefinition);
}
- public EmptyListEffectiveStatement(final EmptyListEffectiveStatement original, final QName argument,
- final int flags) {
- super(original, argument, flags);
+ @Override
+ public QName argument() {
+ return getDeclared().argument();
}
@Override
*/
package org.opendaylight.yangtools.yang.model.ri.stmt.impl.eff;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.collect.ImmutableList;
import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.ElementCountConstraint;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
public final class RegularListEffectiveStatement extends AbstractListEffectiveStatement {
private final ElementCountConstraint elementCountConstraint;
+ private final @NonNull QName argument;
public RegularListEffectiveStatement(final ListStatement declared, final QName argument, final int flags,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
final ImmutableList<QName> keyDefinition, final ElementCountConstraint elementCountConstraint) {
- super(declared, argument, flags, substatements, keyDefinition);
+ super(declared, flags, substatements, keyDefinition);
+ this.argument = requireNonNull(argument);
this.elementCountConstraint = elementCountConstraint;
}
public RegularListEffectiveStatement(final RegularListEffectiveStatement originalEffective, final QName argument,
final int flags) {
- super(originalEffective, argument, flags);
+ super(originalEffective, flags);
+ this.argument = requireNonNull(argument);
elementCountConstraint = originalEffective.elementCountConstraint;
}
public RegularListEffectiveStatement(final EmptyListEffectiveStatement originalEffective, final QName argument,
final int flags) {
- super(originalEffective, argument, flags);
+ super(originalEffective, flags);
+ this.argument = requireNonNull(argument);
elementCountConstraint = null;
}
+ @Override
+ public QName argument() {
+ return argument;
+ }
+
@Override
public Optional<ElementCountConstraint> getElementCountConstraint() {
return Optional.ofNullable(elementCountConstraint);