BUG-865: deprecate pre-Beryllium parser elements
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / builder / impl / UnknownSchemaNodeImpl.java
index 60137aa50d5e443215c5428f3ca09af065ec8ca5..8e75abf703618e64f020dde73a4d1ea04904fe1a 100644 (file)
@@ -7,14 +7,19 @@
  */
 package org.opendaylight.yangtools.yang.parser.builder.impl;
 
-import java.util.ArrayList;
+import com.google.common.collect.ImmutableList;
 import java.util.List;
+import java.util.Objects;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 
+/**
+ * @deprecated Pre-Beryllium implementation, scheduled for removal.
+ */
+@Deprecated
 final class UnknownSchemaNodeImpl implements UnknownSchemaNode {
     private final QName qname;
     private final SchemaPath path;
@@ -22,7 +27,7 @@ final class UnknownSchemaNodeImpl implements UnknownSchemaNode {
     String description;
     String reference;
     Status status = Status.CURRENT;
-    private final List<UnknownSchemaNode> unknownNodes = new ArrayList<>();
+    private List<UnknownSchemaNode> unknownNodes = ImmutableList.of();
     private QName nodeType;
     private String nodeParameter;
     boolean addedByUses;
@@ -78,7 +83,7 @@ final class UnknownSchemaNodeImpl implements UnknownSchemaNode {
 
     void setUnknownSchemaNodes(final List<UnknownSchemaNode> unknownNodes) {
         if (unknownNodes != null) {
-            this.unknownNodes.addAll(unknownNodes);
+            this.unknownNodes = ImmutableList.copyOf(unknownNodes);
         }
     }
 
@@ -115,10 +120,10 @@ final class UnknownSchemaNodeImpl implements UnknownSchemaNode {
     public int hashCode() {
         final int prime = 31;
         int result = 1;
-        result = prime * result + ((qname == null) ? 0 : qname.hashCode());
-        result = prime * result + ((path == null) ? 0 : path.hashCode());
-        result = prime * result + ((nodeType == null) ? 0 : nodeType.hashCode());
-        result = prime * result + ((nodeParameter == null) ? 0 : nodeParameter.hashCode());
+        result = prime * result + Objects.hashCode(qname);
+        result = prime * result + Objects.hashCode(path);
+        result = prime * result + Objects.hashCode(nodeType);
+        result = prime * result + Objects.hashCode(nodeParameter);
         return result;
     }
 
@@ -165,4 +170,8 @@ final class UnknownSchemaNodeImpl implements UnknownSchemaNode {
         return true;
     }
 
-}
\ No newline at end of file
+    @Override
+    public boolean isAddedByAugmentation() {
+        return false;
+    }
+}