Bug 4412: New yang parser effective statements cleanup
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / RefineEffectiveStatementImpl.java
index 9752e4e2151826679c6b376b45f800ef1a49f978..ebef3fd511791d4ac6e7f6bbfaf444172cb148b9 100644 (file)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
  *
  * This program and the accompanying materials are made available under the
@@ -21,45 +21,36 @@ 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);
         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;
+    }
+
     @Override
     public QName getQName() {
         return qname;