-/**
+/*
* Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
+import javax.annotation.Nonnull;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.SchemaNode;
import org.opendaylight.yangtools.yang.model.api.SchemaPath;
import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils;
-public class RefineEffectiveStatementImpl extends
- AbstractEffectiveDocumentedNode<SchemaNodeIdentifier, RefineStatement>
- implements SchemaNode {
+public final class RefineEffectiveStatementImpl extends
+ AbstractEffectiveDocumentedNode<SchemaNodeIdentifier, RefineStatement> implements SchemaNode {
private final QName qname;
private final SchemaPath path;
- private List<UnknownSchemaNode> unknownNodes;
+ private final List<UnknownSchemaNode> unknownNodes;
private final SchemaNode refineTargetNode;
- public RefineEffectiveStatementImpl(
- final StmtContext<SchemaNodeIdentifier, RefineStatement, ?> ctx) {
+ public RefineEffectiveStatementImpl(final StmtContext<SchemaNodeIdentifier, RefineStatement, ?> ctx) {
super(ctx);
-
qname = ctx.getStatementArgument().getLastComponent();
- path = Utils.getSchemaPath(ctx);
+ path = ctx.getSchemaPath().get();
refineTargetNode = (SchemaNode) ctx.getEffectOfStatement().iterator().next().buildEffective();
- initSubstatementCollectionsAndFields();
- }
-
- public SchemaNode getRefineTargetNode() {
- return refineTargetNode;
- }
-
- private void initSubstatementCollectionsAndFields() {
+ // initSubstatementCollectionsAndFields
Collection<? extends EffectiveStatement<?, ?>> effectiveSubstatements = effectiveSubstatements();
-
List<UnknownSchemaNode> unknownNodesInit = new LinkedList<>();
-
for (EffectiveStatement<?, ?> effectiveSubstatement : effectiveSubstatements) {
if (effectiveSubstatement instanceof UnknownSchemaNode) {
UnknownSchemaNode unknownNode = (UnknownSchemaNode) effectiveSubstatement;
unknownNodesInit.add(unknownNode);
}
}
-
this.unknownNodes = ImmutableList.copyOf(unknownNodesInit);
}
+ public SchemaNode getRefineTargetNode() {
+ return refineTargetNode;
+ }
+
+ @Nonnull
@Override
public QName getQName() {
return qname;
}
+ @Nonnull
@Override
public SchemaPath getPath() {
return path;
}
+ @Nonnull
@Override
public List<UnknownSchemaNode> getUnknownSchemaNodes() {
return unknownNodes;