import com.google.common.collect.ImmutableList;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Immutable;
import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode;
import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode;
import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
public abstract class AbstractLeafEffectiveStatement
extends AbstractDeclaredEffectiveStatement.Default<QName, LeafStatement>
- implements LeafEffectiveStatement, LeafSchemaNode, DerivableSchemaNode,
- DataSchemaNodeMixin<QName, LeafStatement>, MandatoryMixin<QName, LeafStatement>,
- MustConstraintMixin<QName, LeafStatement> {
+ implements LeafEffectiveStatement, LeafSchemaNode, DataSchemaNodeMixin<LeafStatement>,
+ MandatoryMixin<QName, LeafStatement>, MustConstraintMixin<QName, LeafStatement> {
private final @NonNull Object substatements;
- private final @NonNull Immutable path;
+ private final @NonNull QName argument;
private final @NonNull TypeDefinition<?> type;
private final int flags;
- AbstractLeafEffectiveStatement(final LeafStatement declared, final Immutable path, final int flags,
+ AbstractLeafEffectiveStatement(final LeafStatement declared, final QName argument, final int flags,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
super(declared);
- this.path = requireNonNull(path);
+ this.argument = requireNonNull(argument);
this.substatements = maskList(substatements);
this.flags = flags;
// TODO: lazy instantiation?
this.type = buildType();
}
- AbstractLeafEffectiveStatement(final AbstractLeafEffectiveStatement original, final Immutable path,
+ AbstractLeafEffectiveStatement(final AbstractLeafEffectiveStatement original, final QName argument,
final int flags) {
super(original);
- this.path = requireNonNull(path);
+ this.argument = requireNonNull(argument);
this.substatements = original.substatements;
this.flags = flags;
// FIXME: share with original?
@Override
public final QName argument() {
- return getQName();
- }
-
- @Override
- public final Immutable pathObject() {
- return path;
+ return argument;
}
@Override