Add UniqueValidation
[yangtools.git] / yang / yang-data-api / src / main / java / org / opendaylight / yangtools / yang / data / api / StackedReversePathArguments.java
index 7317a622e578b45de4f7814c1514720a05b24654..9250515342c986f80992f3115891e0fe30eac273 100644 (file)
@@ -7,24 +7,26 @@
  */
 package org.opendaylight.yangtools.yang.data.api;
 
-import com.google.common.base.Preconditions;
-import com.google.common.base.Verify;
+import static com.google.common.base.Verify.verify;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.collect.Iterators;
 import com.google.common.collect.UnmodifiableIterator;
 import java.util.Collection;
 import java.util.Iterator;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 
 final class StackedReversePathArguments extends PathArgumentList {
     private final StackedYangInstanceIdentifier identifier;
-    private int size;
-    private volatile boolean haveSize;
+
+    private volatile int size;
 
     StackedReversePathArguments(final StackedYangInstanceIdentifier identifier) {
-        this.identifier = Preconditions.checkNotNull(identifier);
+        this.identifier = requireNonNull(identifier);
     }
 
-    private static int calculateSize(final YangInstanceIdentifier parent) {
+    private static int calculateSize(final @NonNull YangInstanceIdentifier parent) {
         YangInstanceIdentifier current = parent;
         for (int i = 1;; ++i) {
             final Collection<PathArgument> args = current.tryReversePathArguments();
@@ -32,27 +34,26 @@ final class StackedReversePathArguments extends PathArgumentList {
                 return i + args.size();
             }
 
-            Verify.verify(current instanceof StackedYangInstanceIdentifier);
-            current = ((StackedYangInstanceIdentifier)current).getParent();
+            verify(current instanceof StackedYangInstanceIdentifier);
+            current = ((StackedYangInstanceIdentifier) current).getParent();
         }
     }
 
     @Override
     public int size() {
         int ret = size;
-        if (!haveSize) {
+        if (ret == 0) {
             ret = calculateSize(identifier.getParent());
             size = ret;
-            haveSize = true;
         }
 
         return ret;
     }
 
-
     @Override
+    @SuppressWarnings("checkstyle:parameterName")
     public boolean contains(final Object o) {
-        final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o);
+        final PathArgument srch = (PathArgument) requireNonNull(o);
         return Iterators.contains(iterator(), srch);
     }
 
@@ -62,14 +63,16 @@ final class StackedReversePathArguments extends PathArgumentList {
     }
 
     @Override
+    @SuppressWarnings("checkstyle:parameterName")
     public int indexOf(final Object o) {
-        final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o);
+        final PathArgument srch = (PathArgument) requireNonNull(o);
         return super.indexOf(srch);
     }
 
     @Override
+    @SuppressWarnings("checkstyle:parameterName")
     public int lastIndexOf(final Object o) {
-        final PathArgument srch = (PathArgument) Preconditions.checkNotNull(o);
+        final PathArgument srch = (PathArgument) requireNonNull(o);
 
         int ret = -1;
         final Iterator<PathArgument> it = iterator();
@@ -92,7 +95,7 @@ final class StackedReversePathArguments extends PathArgumentList {
         private Iterator<PathArgument> tail;
 
         IteratorImpl(final StackedYangInstanceIdentifier identifier) {
-            this.identifier = Preconditions.checkNotNull(identifier);
+            this.identifier = requireNonNull(identifier);
         }
 
         @Override
@@ -113,7 +116,7 @@ final class StackedReversePathArguments extends PathArgumentList {
                 tail = args.iterator();
                 identifier = null;
             } else {
-                Verify.verify(next instanceof StackedYangInstanceIdentifier);
+                verify(next instanceof StackedYangInstanceIdentifier);
                 identifier = (StackedYangInstanceIdentifier) next;
             }