Refactor yang-model-api child traversal return types
[yangtools.git] / yang / yang-model-util / src / main / java / org / opendaylight / yangtools / yang / model / util / type / BaseIdentityrefType.java
index b2628f31294ff91e86b44c0fd0a9b3dc2c76b194..7ef27d9057e24debfd41d9bf71ce2f6659c525a7 100644 (file)
@@ -7,47 +7,43 @@
  */
 package org.opendaylight.yangtools.yang.model.util.type;
 
-import com.google.common.base.Preconditions;
-import java.util.List;
+import static java.util.Objects.requireNonNull;
+
+import java.util.Collection;
 import java.util.Set;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition;
 
-final class BaseIdentityrefType extends AbstractBaseType<IdentityrefTypeDefinition> implements IdentityrefTypeDefinition {
-    private final IdentitySchemaNode identity;
-    private final Set<IdentitySchemaNode> identities;
+final class BaseIdentityrefType extends AbstractBaseType<IdentityrefTypeDefinition>
+        implements IdentityrefTypeDefinition {
+    private final @NonNull Set<? extends IdentitySchemaNode> identities;
 
-    BaseIdentityrefType(final SchemaPath path, final List<UnknownSchemaNode> unknownSchemaNodes,
-            final IdentitySchemaNode identity, final Set<IdentitySchemaNode> identities) {
+    BaseIdentityrefType(final SchemaPath path, final Collection<? extends UnknownSchemaNode> unknownSchemaNodes,
+            final Set<? extends IdentitySchemaNode> identities) {
         super(path, unknownSchemaNodes);
-        this.identity = Preconditions.checkNotNull(identity);
-        this.identities = Preconditions.checkNotNull(identities);
-    }
-
-    @Override
-    public IdentitySchemaNode getIdentity() {
-        return identity;
+        this.identities = requireNonNull(identities);
     }
 
     @Override
-    public Set<IdentitySchemaNode> getIdentities() {
+    public Set<? extends IdentitySchemaNode> getIdentities() {
         return identities;
     }
 
     @Override
     public int hashCode() {
-        return TypeDefinitions.hashCode(this);
+        return IdentityrefTypeDefinition.hashCode(this);
     }
 
     @Override
     public boolean equals(final Object obj) {
-        return TypeDefinitions.equals(this, obj);
+        return IdentityrefTypeDefinition.equals(this, obj);
     }
 
     @Override
     public String toString() {
-        return TypeDefinitions.toString(this);
+        return IdentityrefTypeDefinition.toString(this);
     }
 }