From: Stephen Kitt Date: Wed, 2 Nov 2016 16:42:23 +0000 (+0100) Subject: Propagate @Nonnull and @Nullable annotations X-Git-Tag: release/carbon~223 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=c24d6e2f39acbb11e22b5676bb7481ed52bec461;p=yangtools.git Propagate @Nonnull and @Nullable annotations These annotations aren't inherited, so for proper null analysis we need to propagate them. Change-Id: I9dee3df1e1c72f9767def23e668bfbb239319913 Signed-off-by: Stephen Kitt --- diff --git a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java index a09a40afe8..234c1469c3 100644 --- a/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java +++ b/common/concepts/src/main/java/org/opendaylight/yangtools/concepts/SemVer.java @@ -91,7 +91,7 @@ public final class SemVer implements Comparable, Serializable { } @Override - public int compareTo(final SemVer other) { + public int compareTo(@Nonnull final SemVer other) { int cmp = Integer.compare(major, other.major); if (cmp == 0) { cmp = Integer.compare(minor, other.minor); diff --git a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java index 51ed7ae4ac..71eb2ca184 100644 --- a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java +++ b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/AbstractObjectCache.java @@ -14,6 +14,7 @@ import com.google.common.base.Preconditions; import com.google.common.cache.Cache; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.ProductAwareBuilder; import org.opendaylight.yangtools.objcache.ObjectCache; import org.slf4j.Logger; @@ -136,7 +137,7 @@ public abstract class AbstractObjectCache implements ObjectCache { } @Override - public final , P> P getProduct(final B builder) { + public final , P> P getProduct(@Nonnull final B builder) { throw new UnsupportedOperationException(); // LOG.debug("Looking up product for {}", builder); // diff --git a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/NoopObjectCache.java b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/NoopObjectCache.java index e55f590ac6..4ba9bde42a 100644 --- a/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/NoopObjectCache.java +++ b/common/object-cache-api/src/main/java/org/opendaylight/yangtools/objcache/spi/NoopObjectCache.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.objcache.spi; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.ProductAwareBuilder; import org.opendaylight.yangtools.objcache.ObjectCache; @@ -37,7 +38,7 @@ public final class NoopObjectCache implements ObjectCache { } @Override - public , P> P getProduct(final B builder) { + public , P> P getProduct(@Nonnull final B builder) { return builder.build(); } } diff --git a/common/object-cache-guava/src/main/java/org/opendaylight/yangtools/objcache/guava/GuavaObjectCacheFactory.java b/common/object-cache-guava/src/main/java/org/opendaylight/yangtools/objcache/guava/GuavaObjectCacheFactory.java index 1ee0750b65..10a8c2a598 100644 --- a/common/object-cache-guava/src/main/java/org/opendaylight/yangtools/objcache/guava/GuavaObjectCacheFactory.java +++ b/common/object-cache-guava/src/main/java/org/opendaylight/yangtools/objcache/guava/GuavaObjectCacheFactory.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.objcache.guava; import com.google.common.base.FinalizableReferenceQueue; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.objcache.ObjectCache; import org.opendaylight.yangtools.objcache.spi.IObjectCacheFactory; @@ -22,7 +23,7 @@ public final class GuavaObjectCacheFactory implements AutoCloseable, IObjectCach } @Override - public ObjectCache getObjectCache(final Class objClass) { + public ObjectCache getObjectCache(@Nonnull final Class objClass) { return cache; } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractStringIdentifier.java b/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractStringIdentifier.java index c1f0c2518a..a72c253bcd 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractStringIdentifier.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/AbstractStringIdentifier.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.util; import com.google.common.annotations.Beta; import java.util.UUID; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Identifier; /** @@ -26,7 +27,7 @@ public abstract class AbstractStringIdentifier } @Override - public final int compareTo(final T o) { + public final int compareTo(@Nonnull final T o) { return getValue().compareTo(o.getValue()); } } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java index b88a6ef992..b8dae240da 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ConstantArrayCollection.java @@ -15,6 +15,7 @@ import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.NoSuchElementException; +import javax.annotation.Nonnull; /** * Internal array-backed {@link List}. It assumes the array does not contain nulls and it does not get modified @@ -51,6 +52,7 @@ final class ConstantArrayCollection implements Collection, Serializable { return false; } + @Nonnull @Override public Iterator iterator() { return new UnmodifiableIterator() { @@ -71,14 +73,16 @@ final class ConstantArrayCollection implements Collection, Serializable { }; } + @Nonnull @Override public Object[] toArray() { return array.clone(); } + @Nonnull @SuppressWarnings("unchecked") @Override - public T[] toArray(final T[] a) { + public T[] toArray(@Nonnull final T[] a) { if (a.length < array.length) { return Arrays.copyOf(array, array.length, (Class)a.getClass().getComponentType()); } @@ -101,7 +105,7 @@ final class ConstantArrayCollection implements Collection, Serializable { } @Override - public boolean containsAll(final Collection c) { + public boolean containsAll(@Nonnull final Collection c) { for (Object o : c) { if (!contains(o)) { return false; @@ -112,17 +116,17 @@ final class ConstantArrayCollection implements Collection, Serializable { } @Override - public boolean addAll(final Collection c) { + public boolean addAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public boolean removeAll(final Collection c) { + public boolean removeAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public boolean retainAll(final Collection c) { + public boolean retainAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ExecutorServiceUtil.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ExecutorServiceUtil.java index cc5c38cbb1..e3ee6b2d38 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ExecutorServiceUtil.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ExecutorServiceUtil.java @@ -14,6 +14,7 @@ import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.RejectedExecutionHandler; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; +import javax.annotation.Nonnull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,7 +57,7 @@ public final class ExecutorServiceUtil { public static BlockingQueue offerFailingBlockingQueue(final BlockingQueue delegate) { return new ForwardingBlockingQueue() { @Override - public boolean offer(final E o) { + public boolean offer(@Nonnull final E o) { return false; } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java index 909ab55833..dd5511e10e 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ImmutableOffsetMap.java @@ -44,6 +44,7 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase toModifiableMap() { return MutableOffsetMap.orderedCopyOf(this); @@ -63,6 +64,7 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase toModifiableMap() { return MutableOffsetMap.unorderedCopyOf(this); @@ -96,6 +98,7 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase toModifiableMap(); @@ -295,7 +298,7 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase m) { + public final void putAll(@Nonnull final Map m) { throw new UnsupportedOperationException(); } @@ -309,11 +312,13 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase values() { return new ConstantArrayCollection<>(objects); } + @Nonnull @Override public final Set> entrySet() { return new EntrySet(); @@ -346,6 +351,7 @@ public abstract class ImmutableOffsetMap implements UnmodifiableMapPhase> { + @Nonnull @Override public Iterator> iterator() { final Iterator> it = offsets.entrySet().iterator(); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java index c9903d4ab0..ef033b116f 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/MutableOffsetMap.java @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import java.util.NoSuchElementException; import java.util.Set; +import javax.annotation.Nonnull; /** * A mutable version of {@link ImmutableOffsetMap}. It inherits the set of mappings from the immutable version and @@ -312,11 +313,13 @@ public abstract class MutableOffsetMap extends AbstractMap implement } } + @Nonnull @Override public final Set> entrySet() { return new EntrySet(); } + @Nonnull @Override public Map toUnmodifiableMap() { if (removed == 0 && newKeys.isEmpty()) { @@ -470,6 +473,7 @@ public abstract class MutableOffsetMap extends AbstractMap implement return true; } + @Nonnull @Override public final Set keySet() { return new KeySet(); @@ -491,6 +495,7 @@ public abstract class MutableOffsetMap extends AbstractMap implement } private final class EntrySet extends AbstractSet> { + @Nonnull @Override public Iterator> iterator() { return new AbstractSetIterator>() { @@ -556,6 +561,7 @@ public abstract class MutableOffsetMap extends AbstractMap implement } private final class KeySet extends AbstractSet { + @Nonnull @Override public Iterator iterator() { return new AbstractSetIterator() { diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/OffsetMapCache.java b/common/util/src/main/java/org/opendaylight/yangtools/util/OffsetMapCache.java index c3f67e9243..6c78c9ed6d 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/OffsetMapCache.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/OffsetMapCache.java @@ -23,6 +23,7 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; +import javax.annotation.Nonnull; final class OffsetMapCache { /* @@ -32,7 +33,7 @@ final class OffsetMapCache { private static final LoadingCache, Map> ORDERED_CACHE = CacheBuilder.newBuilder().weakValues().build(new CacheLoader, Map>() { @Override - public Map load(final List key) { + public Map load(@Nonnull final List key) { return createMap(key); } }); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java index 6250dd3640..7eeb2911ec 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/ReadWriteTrieMap.java @@ -13,6 +13,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Map; import java.util.Set; +import javax.annotation.Nonnull; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -92,7 +93,7 @@ final class ReadWriteTrieMap implements Map { } @Override - public void putAll(final Map m) { + public void putAll(@Nonnull final Map m) { for (Entry e : m.entrySet()) { put(e.getKey(), e.getValue()); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java b/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java index e8366120dd..cb3dbe8df0 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/SharedSingletonMap.java @@ -15,6 +15,7 @@ import com.google.common.cache.LoadingCache; import java.io.Serializable; import java.util.AbstractMap.SimpleImmutableEntry; import java.util.Map; +import javax.annotation.Nonnull; /** * Implementation of the {@link Map} interface which stores a single mapping. The key set is shared among all instances @@ -32,6 +33,7 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi super(key, value); } + @Nonnull @Override public ModifiableMapPhase toModifiableMap() { return MutableOffsetMap.orderedCopyOf(this); @@ -45,6 +47,7 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi super(key, value); } + @Nonnull @Override public ModifiableMapPhase toModifiableMap() { return MutableOffsetMap.unorderedCopyOf(this); @@ -55,7 +58,7 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi private static final LoadingCache> CACHE = CacheBuilder.newBuilder().weakValues() .build(new CacheLoader>() { @Override - public SingletonSet load(final Object key) { + public SingletonSet load(@Nonnull final Object key) { return SingletonSet.of(key); } }); @@ -91,16 +94,19 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi return new Unordered<>(e.getKey(), e.getValue()); } + @Nonnull @Override public final SingletonSet> entrySet() { return SingletonSet.of(new SimpleImmutableEntry<>(keySet.getElement(), value)); } + @Nonnull @Override public final SingletonSet keySet() { return keySet; } + @Nonnull @Override public final SingletonSet values() { return SingletonSet.of(value); @@ -142,7 +148,7 @@ public abstract class SharedSingletonMap implements Serializable, Unmodifi } @Override - public final void putAll(final Map m) { + public final void putAll(@Nonnull final Map m) { throw new UnsupportedOperationException(); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java b/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java index 420172dc75..958c9085e3 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/SingletonSet.java @@ -78,14 +78,16 @@ public abstract class SingletonSet implements Set, Immutable, Serializable return Iterators.singletonIterator(getElement()); } + @Nonnull @Override public final Object[] toArray() { return new Object[] { getElement() }; } + @Nonnull @SuppressWarnings("unchecked") @Override - public final T[] toArray(final T[] a) { + public final T[] toArray(@Nonnull final T[] a) { if (a.length > 0) { a[0] = (T)getElement(); return a; @@ -105,7 +107,7 @@ public abstract class SingletonSet implements Set, Immutable, Serializable } @Override - public final boolean containsAll(final Collection c) { + public final boolean containsAll(@Nonnull final Collection c) { if (c.isEmpty()) { return true; } @@ -117,17 +119,17 @@ public abstract class SingletonSet implements Set, Immutable, Serializable } @Override - public final boolean addAll(final Collection c) { + public final boolean addAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public final boolean retainAll(final Collection c) { + public final boolean retainAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public final boolean removeAll(final Collection c) { + public final boolean removeAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java b/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java index 29ccab5e40..96895025b0 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/UnmodifiableCollection.java @@ -68,6 +68,7 @@ public final class UnmodifiableCollection implements Collection, Serializa return new UnmodifiableCollection<>(collection); } + @Nonnull @Override public Iterator iterator() { return Iterators.unmodifiableIterator(delegate.iterator()); @@ -94,12 +95,12 @@ public final class UnmodifiableCollection implements Collection, Serializa } @Override - public T[] toArray(final T[] a) { + public T[] toArray(@Nonnull final T[] a) { return delegate.toArray(a); } @Override - public boolean containsAll(final Collection c) { + public boolean containsAll(@Nonnull final Collection c) { return delegate.containsAll(c); } @@ -109,7 +110,7 @@ public final class UnmodifiableCollection implements Collection, Serializa } @Override - public boolean addAll(final Collection c) { + public boolean addAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @@ -119,12 +120,12 @@ public final class UnmodifiableCollection implements Collection, Serializa } @Override - public boolean removeAll(final Collection c) { + public boolean removeAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public boolean retainAll(final Collection c) { + public boolean retainAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java index 53629b0330..71524999c8 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListenableFutureTask.java @@ -67,7 +67,7 @@ public class AsyncNotifyingListenableFutureTask extends FutureTask impleme } @Override - public void addListener(final Runnable listener, final Executor executor) { + public void addListener(@Nonnull final Runnable listener, @Nonnull final Executor executor) { // Wrap the listener Runnable in a DelegatingRunnable. If the specified executor is one that // runs tasks in the same thread as the caller submitting the task // (e.g. {@link com.google.common.util.concurrent.MoreExecutors#sameThreadExecutor}) and the @@ -161,7 +161,7 @@ public class AsyncNotifyingListenableFutureTask extends FutureTask impleme } @Override - public void addListener(@Nonnull final Runnable listener, final Executor executor) { + public void addListener(@Nonnull final Runnable listener, @Nonnull final Executor executor) { executionList.add(listener, executor); } diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java index 024594d0f2..b23982e310 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorService.java @@ -18,6 +18,7 @@ import java.util.concurrent.Callable; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; +import javax.annotation.Nonnull; import javax.annotation.Nullable; /** @@ -94,7 +95,7 @@ public class AsyncNotifyingListeningExecutorService extends AbstractListeningExe } @Override - public boolean awaitTermination( final long timeout, final TimeUnit unit ) throws InterruptedException { + public boolean awaitTermination( final long timeout, @Nonnull final TimeUnit unit ) throws InterruptedException { return delegate.awaitTermination( timeout, unit ); } @@ -113,16 +114,18 @@ public class AsyncNotifyingListeningExecutorService extends AbstractListeningExe delegate.shutdown(); } + @Nonnull @Override public List shutdownNow() { return delegate.shutdownNow(); } @Override - public void execute( final Runnable command ) { + public void execute( @Nonnull final Runnable command ) { delegate.execute( command ); } + @Nonnull @Override public ListenableFuture submit( final Callable task ) { AsyncNotifyingListenableFutureTask futureTask = newFutureTask( task ); @@ -130,6 +133,7 @@ public class AsyncNotifyingListeningExecutorService extends AbstractListeningExe return futureTask; } + @Nonnull @Override public ListenableFuture submit( final Runnable task ) { AsyncNotifyingListenableFutureTask futureTask = newFutureTask( task, null ); @@ -137,6 +141,7 @@ public class AsyncNotifyingListeningExecutorService extends AbstractListeningExe return futureTask; } + @Nonnull @Override public ListenableFuture submit( final Runnable task, final T result ) { AsyncNotifyingListenableFutureTask futureTask = newFutureTask( task, result ); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java index 1d50b8af47..fad71a9352 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorService.java @@ -86,20 +86,23 @@ public class DeadlockDetectingListeningExecutorService extends AsyncNotifyingLis } @Override - public void execute(final Runnable command) { + public void execute(@Nonnull final Runnable command) { getDelegate().execute(wrapRunnable(command)); } + @Nonnull @Override public ListenableFuture submit(final Callable task) { return wrapListenableFuture(super.submit(wrapCallable(task))); } + @Nonnull @Override public ListenableFuture submit(final Runnable task) { return wrapListenableFuture(super.submit(wrapRunnable(task))); } + @Nonnull @Override public ListenableFuture submit(final Runnable task, final T result) { return wrapListenableFuture(super.submit(wrapRunnable(task), result)); @@ -159,7 +162,7 @@ public class DeadlockDetectingListeningExecutorService extends AsyncNotifyingLis } @Override - public T get(final long timeout, final TimeUnit unit) + public T get(final long timeout, @Nonnull final TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { checkDeadLockDetectorTL(); return super.get(timeout, unit); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java index 7e89be8199..33000817cf 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/MappingCheckedFuture.java @@ -16,6 +16,7 @@ import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import javax.annotation.Nonnull; /** * An implementation of CheckedFuture that provides similar behavior for the get methods @@ -55,7 +56,7 @@ public final class MappingCheckedFuture extends Abstract } @Override - protected X mapException( final Exception e ) { + protected X mapException( @Nonnull final Exception e ) { return mapper.apply( e ); } @@ -78,7 +79,7 @@ public final class MappingCheckedFuture extends Abstract } @Override - public V get( final long timeout, final TimeUnit unit ) + public V get( final long timeout, @Nonnull final TimeUnit unit ) throws InterruptedException, ExecutionException, TimeoutException { try { return super.get( timeout, unit ); diff --git a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/TrackingLinkedBlockingQueue.java b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/TrackingLinkedBlockingQueue.java index 546dec3d65..dfe31f8747 100644 --- a/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/TrackingLinkedBlockingQueue.java +++ b/common/util/src/main/java/org/opendaylight/yangtools/util/concurrent/TrackingLinkedBlockingQueue.java @@ -13,6 +13,7 @@ import java.util.Collection; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicIntegerFieldUpdater; +import javax.annotation.Nonnull; /** * A {@link LinkedBlockingQueue} that tracks the largest queue size for debugging. @@ -76,7 +77,7 @@ public class TrackingLinkedBlockingQueue extends LinkedBlockingQueue { } @Override - public boolean offer(final E e) { + public boolean offer(@Nonnull final E e) { if (super.offer( e ) ) { updateLargestQueueSize(); return true; diff --git a/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorServiceTest.java b/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorServiceTest.java index 83451004f8..bfc9303561 100644 --- a/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorServiceTest.java +++ b/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/AsyncNotifyingListeningExecutorServiceTest.java @@ -30,6 +30,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import javax.annotation.Nonnull; import org.junit.After; import org.junit.Test; import org.opendaylight.yangtools.util.concurrent.CommonTestUtils.Invoker; @@ -150,7 +151,7 @@ public class AsyncNotifyingListeningExecutorServiceTest { } @Override - public void onFailure( Throwable t ) { + public void onFailure( @Nonnull Throwable t ) { // Shouldn't happen t.printStackTrace(); } diff --git a/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java b/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java index 7ca99127a1..83a5134bf7 100644 --- a/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java +++ b/common/util/src/test/java/org/opendaylight/yangtools/util/concurrent/DeadlockDetectingListeningExecutorServiceTest.java @@ -29,6 +29,7 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicReference; +import javax.annotation.Nonnull; import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -122,7 +123,7 @@ public class DeadlockDetectingListeningExecutorServiceTest { } @Override - public void onFailure(final Throwable t) { + public void onFailure(@Nonnull final Throwable t) { caughtEx.set(t); futureCompletedLatch.countDown(); } diff --git a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java index d49078681b..ff0b6d2f81 100644 --- a/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java +++ b/yang/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/QName.java @@ -21,6 +21,7 @@ import java.util.Date; import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; +import javax.annotation.Nonnull; import javax.annotation.RegEx; import org.opendaylight.yangtools.concepts.Immutable; @@ -401,7 +402,7 @@ public final class QName implements Immutable, Serializable, Comparable { } @Override - public int compareTo(final QName other) { + public int compareTo(@Nonnull final QName other) { // compare mandatory localName parameter int result = localName.compareTo(other.localName); if (result != 0) { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java index d5a07238e3..ddce29e764 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/FixedYangInstanceIdentifier.java @@ -11,6 +11,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import java.io.ObjectStreamException; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.util.HashCodeBuilder; final class FixedYangInstanceIdentifier extends YangInstanceIdentifier implements Cloneable { @@ -57,6 +58,7 @@ final class FixedYangInstanceIdentifier extends YangInstanceIdentifier implement return ret; } + @Nonnull @Override public YangInstanceIdentifier getAncestor(final int depth) { Preconditions.checkArgument(depth >= 0, "Negative depth is not allowed"); @@ -82,11 +84,13 @@ final class FixedYangInstanceIdentifier extends YangInstanceIdentifier implement return path.reverse(); } + @Nonnull @Override List tryPathArguments() { return path; } + @Nonnull @Override List tryReversePathArguments() { return path.reverse(); @@ -97,6 +101,7 @@ final class FixedYangInstanceIdentifier extends YangInstanceIdentifier implement return path.isEmpty()? null : path.get(path.size() - 1); } + @Nonnull @Override YangInstanceIdentifier createRelativeIdentifier(final int skipFromRoot) { if (skipFromRoot == path.size()) { diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/PathArgumentList.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/PathArgumentList.java index 4cc6ff683e..8b5f8cb6e3 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/PathArgumentList.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/PathArgumentList.java @@ -10,9 +10,11 @@ package org.opendaylight.yangtools.yang.data.api; import com.google.common.collect.UnmodifiableIterator; import java.util.AbstractList; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; abstract class PathArgumentList extends AbstractList { + @Nonnull @Override public abstract UnmodifiableIterator iterator(); @@ -27,17 +29,17 @@ abstract class PathArgumentList extends AbstractList { } @Override - public final boolean addAll(final Collection c) { + public final boolean addAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public final boolean removeAll(final Collection c) { + public final boolean removeAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } @Override - public final boolean retainAll(final Collection c) { + public final boolean retainAll(@Nonnull final Collection c) { throw new UnsupportedOperationException(); } diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java index 7279b58f4b..690e2a438b 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedPathArguments.java @@ -70,6 +70,7 @@ final class StackedPathArguments extends PathArgumentList { return base.lastIndexOf(srch); } + @Nonnull @Override public UnmodifiableIterator iterator() { return new IteratorImpl(base, stack); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java index b68ed23a1a..382e1aaa1d 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedReversePathArguments.java @@ -13,6 +13,7 @@ import com.google.common.collect.Iterators; import com.google.common.collect.UnmodifiableIterator; import java.util.Collection; import java.util.Iterator; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; final class StackedReversePathArguments extends PathArgumentList { @@ -82,6 +83,7 @@ final class StackedReversePathArguments extends PathArgumentList { return ret; } + @Nonnull @Override public UnmodifiableIterator iterator() { return new IteratorImpl(identifier); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java index 35de59be97..e98cd30a18 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/StackedYangInstanceIdentifier.java @@ -17,6 +17,7 @@ import java.io.ObjectOutputStream; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import javax.annotation.Nonnull; final class StackedYangInstanceIdentifier extends YangInstanceIdentifier implements Cloneable { private static final long serialVersionUID = 1L; @@ -60,6 +61,7 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme return parent; } + @Nonnull @Override public YangInstanceIdentifier getAncestor(final int depth) { Preconditions.checkArgument(depth >= 0, "Steps cannot be negative"); @@ -132,16 +134,19 @@ final class StackedYangInstanceIdentifier extends YangInstanceIdentifier impleme return pathArgument; } + @Nonnull @Override StackedPathArguments tryPathArguments() { return pathArguments; } + @Nonnull @Override StackedReversePathArguments tryReversePathArguments() { return reversePathArguments; } + @Nonnull @Override YangInstanceIdentifier createRelativeIdentifier(final int skipFromRoot) { // TODO: can we optimize this one? diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java index dfe72da591..a8a02c8418 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/YangInstanceIdentifier.java @@ -264,7 +264,7 @@ public abstract class YangInstanceIdentifier implements Path CACHE = CacheBuilder.newBuilder().weakValues() .build(new CacheLoader() { @Override - public NodeIdentifier load(final QName key) { + public NodeIdentifier load(@Nonnull final QName key) { return new NodeIdentifier(key); } }); @@ -701,7 +701,7 @@ public abstract class YangInstanceIdentifier implements Path getChildNodes() { if (data instanceof NormalizedNodeContainer) { @@ -63,16 +65,19 @@ final class NormalizedNodeDataTreeCandidateNode implements DataTreeCandidateNode return null; } + @Nonnull @Override public ModificationType getModificationType() { return ModificationType.WRITE; } + @Nonnull @Override public Optional> getDataAfter() { return Optional.of(data); } + @Nonnull @Override public Optional> getDataBefore() { return Optional.absent(); diff --git a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java index 8491a42488..6e07422fc2 100644 --- a/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java +++ b/yang/yang-data-api/src/main/java/org/opendaylight/yangtools/yang/data/api/schema/tree/SynchronizedDataTreeModification.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.api.schema.tree; import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -59,7 +60,7 @@ public final class SynchronizedDataTreeModification implements DataTreeModificat } @Override - public synchronized void applyToCursor(final DataTreeModificationCursor cursor) { + public synchronized void applyToCursor(@Nonnull final DataTreeModificationCursor cursor) { delegate.applyToCursor(cursor); } } diff --git a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/PathArgumentListTest.java b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/PathArgumentListTest.java index 9847eb72ab..fcfe60bddb 100644 --- a/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/PathArgumentListTest.java +++ b/yang/yang-data-api/src/test/java/org/opendaylight/yangtools/yang/data/api/PathArgumentListTest.java @@ -18,6 +18,7 @@ import java.net.URISyntaxException; import java.text.ParseException; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; import org.junit.Test; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java index c585241545..53998d82d7 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONCodecFactory.java @@ -15,6 +15,7 @@ import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; @@ -59,7 +60,7 @@ public final class JSONCodecFactory { private final LoadingCache> codecs = CacheBuilder.newBuilder().softValues().build(new CacheLoader>() { @Override - public JSONCodec load(final DataSchemaNode key) throws Exception { + public JSONCodec load(@Nonnull final DataSchemaNode key) throws Exception { final TypeDefinition type; if (key instanceof LeafSchemaNode) { type = ((LeafSchemaNode) key).getType(); diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java index ad4ad6b986..3cee46f7bb 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterQNameContext.java @@ -11,6 +11,7 @@ import com.google.common.base.Preconditions; import java.net.URI; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; /** @@ -34,6 +35,7 @@ abstract class JSONStreamWriterQNameContext extends JSONStreamWriterContext { return qname; } + @Nonnull @Override protected final URI getNamespace() { return qname.getNamespace(); diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterURIContext.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterURIContext.java index f0d286a427..cc389e295d 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterURIContext.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStreamWriterURIContext.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.codec.gson; import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaContext; @@ -25,6 +26,7 @@ abstract class JSONStreamWriterURIContext extends JSONStreamWriterContext { this.namespace = namespace; } + @Nonnull @Override protected final URI getNamespace() { return namespace; diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java index 32b77b50c5..032553193b 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringIdentityrefCodec.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.codec.gson; import com.google.gson.stream.JsonWriter; import java.io.IOException; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.data.util.ModuleStringIdentityrefCodec; @@ -21,7 +22,7 @@ final class JSONStringIdentityrefCodec extends ModuleStringIdentityrefCodec impl } @Override - protected Module moduleForPrefix(final String prefix) { + protected Module moduleForPrefix(@Nonnull final String prefix) { if (prefix.isEmpty()) { return context.findModuleByNamespaceAndRevision(parentModuleQname.getNamespace(), parentModuleQname.getRevision()); diff --git a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java index d717697056..4b1090dab0 100644 --- a/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java +++ b/yang/yang-data-codec-gson/src/main/java/org/opendaylight/yangtools/yang/data/codec/gson/JSONStringInstanceIdentifierCodec.java @@ -11,6 +11,7 @@ import com.google.common.base.Preconditions; import com.google.gson.stream.JsonWriter; import java.io.IOException; import java.net.URI; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.util.AbstractModuleStringInstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; @@ -32,16 +33,17 @@ final class JSONStringInstanceIdentifierCodec extends AbstractModuleStringInstan } @Override - protected Module moduleForPrefix(final String prefix) { + protected Module moduleForPrefix(@Nonnull final String prefix) { return context.findModuleByName(prefix, null); } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { final Module module = context.findModuleByNamespaceAndRevision(namespace, null); return module == null ? null : module.getName(); } + @Nonnull @Override protected DataSchemaContextTree getDataContextTree() { return dataContextTree; diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefixInstanceIdentifierSerializer.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefixInstanceIdentifierSerializer.java index 42e179d9c9..5e3a7a46e7 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefixInstanceIdentifierSerializer.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/RandomPrefixInstanceIdentifierSerializer.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.codec.xml; import java.net.URI; import java.util.Map.Entry; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.util.AbstractStringInstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; @@ -28,15 +29,16 @@ final class RandomPrefixInstanceIdentifierSerializer extends AbstractStringInsta } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { return prefixes.encodePrefix(namespace); } @Override - protected QName createQName(final String prefix, final String localName) { + protected QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { throw new UnsupportedOperationException("Not implemented"); } + @Nonnull @Override protected DataSchemaContextTree getDataContextTree() { return schemaTree; diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java index 5072d50786..b33743519e 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java @@ -65,7 +65,7 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter extends XMLStreamNorm } @Override - protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, final Object value, + protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, @Nonnull final Object value, final SchemaNode schemaNode) throws IOException, XMLStreamException { streamUtils.writeValue(xmlWriter, schemaNode, value, qname.getModule()); } diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java index e218986c02..4466b6bb88 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java @@ -124,7 +124,7 @@ class SchemalessXMLStreamNormalizedNodeStreamWriter extends XMLStreamNormalizedN } @Override - protected void writeValue(XMLStreamWriter xmlWriter, QName qname, Object value, Object context) + protected void writeValue(XMLStreamWriter xmlWriter, QName qname, @Nonnull Object value, Object context) throws XMLStreamException { xmlWriter.writeCharacters(value.toString()); } diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java index b1a7116231..79e0d881a4 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlCodecFactory.java @@ -16,6 +16,7 @@ import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.util.AbstractMap.SimpleImmutableEntry; import java.util.Map.Entry; +import javax.annotation.Nonnull; import javax.annotation.concurrent.ThreadSafe; import javax.xml.namespace.NamespaceContext; import javax.xml.stream.XMLStreamException; @@ -65,7 +66,7 @@ public final class XmlCodecFactory { CacheBuilder.newBuilder().softValues().build( new CacheLoader, XmlCodec>() { @Override - public XmlCodec load(final Entry schemaNodeAndNamespaceCtxPair) + public XmlCodec load(@Nonnull final Entry schemaNodeAndNamespaceCtxPair) throws Exception { final DataSchemaNode schemaNode = schemaNodeAndNamespaceCtxPair.getKey(); final TypeDefinition type; diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringIdentityrefCodec.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringIdentityrefCodec.java index f2f434af9d..fab629d649 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringIdentityrefCodec.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringIdentityrefCodec.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.codec.xml; import com.google.common.base.Preconditions; import java.net.URI; +import javax.annotation.Nonnull; import javax.xml.namespace.NamespaceContext; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; @@ -30,7 +31,7 @@ final class XmlStringIdentityrefCodec extends ModuleStringIdentityrefCodec imple } @Override - protected Module moduleForPrefix(final String prefix) { + protected Module moduleForPrefix(@Nonnull final String prefix) { if (prefix.isEmpty()) { return context.findModuleByNamespaceAndRevision(parentModuleQname.getNamespace(), parentModuleQname.getRevision()); diff --git a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java index 11845c2880..c9aa69e939 100644 --- a/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java +++ b/yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XmlStringInstanceIdentifierCodec.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.codec.xml; import com.google.common.base.Preconditions; import java.net.URI; +import javax.annotation.Nonnull; import javax.xml.namespace.NamespaceContext; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; @@ -38,17 +39,18 @@ final class XmlStringInstanceIdentifierCodec extends AbstractModuleStringInstan } @Override - protected Module moduleForPrefix(final String prefix) { + protected Module moduleForPrefix(@Nonnull final String prefix) { final String prefixedNS = namespaceContext.getNamespaceURI(prefix); return context.findModuleByNamespaceAndRevision(URI.create(prefixedNS), null); } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { final Module module = context.findModuleByNamespaceAndRevision(namespace, null); return module == null ? null : module.getName(); } + @Nonnull @Override protected DataSchemaContextTree getDataContextTree() { return dataContextTree; diff --git a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java index 1130885f23..aae76bf455 100644 --- a/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java +++ b/yang/yang-data-codec-xml/src/test/java/org/opendaylight/yangtools/yang/data/codec/xml/YangModeledAnyXMLDeserializationTest.java @@ -16,6 +16,7 @@ import java.io.InputStream; import java.net.URI; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; import org.junit.Before; @@ -205,16 +206,19 @@ public class YangModeledAnyXMLDeserializationTest { return null; } + @Nonnull @Override public QName getQName() { return qName; } + @Nonnull @Override public SchemaPath getPath() { return null; } + @Nonnull @Override public List getUnknownSchemaNodes() { return null; @@ -230,11 +234,13 @@ public class YangModeledAnyXMLDeserializationTest { return null; } + @Nonnull @Override public Status getStatus() { return null; } + @Nonnull @Override public ContainerSchemaNode getSchemaOfAnyXmlData() { return contentSchema; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementIdentityrefParser.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementIdentityrefParser.java index c6d20e30f0..d92cc43a10 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementIdentityrefParser.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementIdentityrefParser.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.codec.xml; import com.google.common.base.Preconditions; import java.net.URI; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.util.AbstractStringIdentityrefCodec; import org.opendaylight.yangtools.yang.model.api.Module; @@ -25,12 +26,12 @@ final class ElementIdentityrefParser extends AbstractStringIdentityrefCodec { } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { return element.lookupPrefix(namespace.toString()); } @Override - protected QName createQName(final String prefix, final String localName) { + protected QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { final String namespace = element.lookupNamespaceURI(!prefix.isEmpty() ? prefix : null); Preconditions.checkArgument(namespace != null, "Failed to lookup prefix %s", prefix); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementInstanceIdentifierParser.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementInstanceIdentifierParser.java index 4274f6db42..ba6605f065 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementInstanceIdentifierParser.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/ElementInstanceIdentifierParser.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.codec.xml; import com.google.common.base.Preconditions; import java.net.URI; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec; import org.opendaylight.yangtools.yang.data.util.AbstractStringInstanceIdentifierCodec; @@ -52,12 +53,12 @@ final class ElementInstanceIdentifierParser extends AbstractStringInstanceIdenti } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { return element.lookupPrefix(namespace.toString()); } @Override - protected QName createQName(final String prefix, final String localName) { + protected QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { final String namespace = element.lookupNamespaceURI(prefix); Preconditions.checkArgument(namespace != null, "Failed to lookup prefix %s", prefix); @@ -67,6 +68,7 @@ final class ElementInstanceIdentifierParser extends AbstractStringInstanceIdenti return QName.create(module.getQNameModule(), localName); } + @Nonnull @Override protected DataSchemaContextTree getDataContextTree() { return dataContextTree; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefixInstanceIdentifierSerializer.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefixInstanceIdentifierSerializer.java index 9c2c613ebf..d7a1c3cf65 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefixInstanceIdentifierSerializer.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/RandomPrefixInstanceIdentifierSerializer.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.codec.xml; import java.net.URI; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.util.AbstractStringInstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextTree; @@ -28,15 +29,16 @@ final class RandomPrefixInstanceIdentifierSerializer extends AbstractStringInsta } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { return prefixes.encodePrefix(namespace); } @Override - protected QName createQName(final String prefix, final String localName) { + protected QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { throw new UnsupportedOperationException("Not implemented"); } + @Nonnull @Override protected DataSchemaContextTree getDataContextTree() { return schemaTree; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java index c816cfa4c7..a0867bbd29 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemaAwareXMLStreamNormalizedNodeStreamWriter.java @@ -11,6 +11,7 @@ package org.opendaylight.yangtools.yang.data.impl.codec.xml; import java.io.IOException; import java.util.Collections; import java.util.Map; +import javax.annotation.Nonnull; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import org.opendaylight.yangtools.yang.common.QName; @@ -45,7 +46,7 @@ final class SchemaAwareXMLStreamNormalizedNodeStreamWriter extends XMLStreamNorm } @Override - protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, final Object value, + protected void writeValue(final XMLStreamWriter xmlWriter, final QName qname, @Nonnull final Object value, final SchemaNode schemaNode) throws IOException, XMLStreamException { streamUtils.writeValue(xmlWriter, schemaNode, value, qname.getModule()); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java index eab8fdd0d9..956cdb977f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/codec/xml/SchemalessXMLStreamNormalizedNodeStreamWriter.java @@ -12,6 +12,7 @@ import java.util.ArrayDeque; import java.util.Collections; import java.util.Deque; import java.util.Map; +import javax.annotation.Nonnull; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamWriter; import org.opendaylight.yangtools.yang.common.QName; @@ -100,7 +101,7 @@ class SchemalessXMLStreamNormalizedNodeStreamWriter extends XMLStreamNormalizedN } @Override - protected void writeValue(XMLStreamWriter xmlWriter, QName qname, Object value, Object context) + protected void writeValue(XMLStreamWriter xmlWriter, QName qname, @Nonnull Object value, Object context) throws XMLStreamException { xmlWriter.writeCharacters(value.toString()); } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java index 66412fa925..2b6c3dc3b2 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java @@ -11,6 +11,7 @@ import com.google.common.base.Preconditions; import java.util.ArrayDeque; import java.util.Collection; import java.util.Deque; +import javax.annotation.Nonnull; import javax.xml.transform.dom.DOMSource; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -354,7 +355,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void nextDataSchemaNode(final DataSchemaNode schema) { + public void nextDataSchemaNode(@Nonnull final DataSchemaNode schema) { nextSchema = Preconditions.checkNotNull(schema); } } diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java index 65a730fa12..9d1d4b5d0f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/builder/impl/ImmutableYangModeledAnyXmlNodeBuilder.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.builder.impl; import com.google.common.base.Preconditions; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; @@ -64,6 +65,7 @@ public class ImmutableYangModeledAnyXmlNodeBuilder extends this.contentSchema = Preconditions.checkNotNull(contentSchema, "Schema of yang modeled anyXml content cannot be null."); } + @Nonnull @Override public ContainerSchemaNode getSchemaOfAnyXmlData() { return contentSchema; diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableNormalizedValueNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableNormalizedValueNode.java index 60b5203dc0..7467d06324 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableNormalizedValueNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/nodes/AbstractImmutableNormalizedValueNode.java @@ -19,7 +19,7 @@ public abstract class AbstractImmutableNormalizedValueNode> m) { + public void putAll(@Nonnull final Map> m) { throw new UnsupportedOperationException(); } @@ -111,6 +112,7 @@ final class UnmodifiableChildrenMap implements CloneableMap> values() { if (values == null) { diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java index 8cbabc46df..8b8d650c32 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractAvailableLeafCandidateNode.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import com.google.common.base.Optional; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; abstract class AbstractAvailableLeafCandidateNode extends AbstractLeafCandidateNode { @@ -15,6 +16,7 @@ abstract class AbstractAvailableLeafCandidateNode extends AbstractLeafCandidateN super(dataAfter); } + @Nonnull @Override public final Optional> getDataAfter() { return dataOptional(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java index b77cb17af7..5123ed2989 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractLeafCandidateNode.java @@ -27,6 +27,7 @@ abstract class AbstractLeafCandidateNode implements DataTreeCandidateNode { return Optional.of(data); } + @Nonnull @Override public final Collection getChildNodes() { return Collections.emptyList(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java index 8f1baffcf6..a352108024 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/AbstractRecursiveCandidateNode.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import com.google.common.base.Optional; import com.google.common.collect.Collections2; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodeContainer; @@ -67,6 +68,7 @@ abstract class AbstractRecursiveCandidateNode extends AbstractDataTreeCandidateN return null; } + @Nonnull @Override public final Collection getChildNodes() { return Collections2.transform(getData().getValue(), this::createChild); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java index 608d1d9273..9d55030782 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/NoopDataTreeCandidate.java @@ -32,6 +32,7 @@ final class NoopDataTreeCandidate extends AbstractDataTreeCandidate { return ModificationType.UNMODIFIED; } + @Nonnull @Override public Collection getChildNodes() { return Collections.emptyList(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java index df8010bdc6..427e547718 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveDeleteCandidateNode.java @@ -38,6 +38,7 @@ final class RecursiveDeleteCandidateNode extends AbstractRecursiveCandidateNode return Optional.absent(); } + @Nonnull @Override public Optional> getDataBefore() { return dataOptional(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java index 224aa32dce..26b65dd162 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveReplaceCandidateNode.java @@ -33,11 +33,13 @@ final class RecursiveReplaceCandidateNode extends AbstractDataTreeCandidateNode return ModificationType.WRITE; } + @Nonnull @Override public Optional> getDataAfter() { return super.dataOptional(); } + @Nonnull @Override public Optional> getDataBefore() { return Optional.of(oldData); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java index be66308996..555286127e 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveUnmodifiedCandidateNode.java @@ -26,11 +26,13 @@ final class RecursiveUnmodifiedCandidateNode extends AbstractRecursiveCandidateN return ModificationType.UNMODIFIED; } + @Nonnull @Override public Optional> getDataAfter() { return dataOptional(); } + @Nonnull @Override public Optional> getDataBefore() { return dataOptional(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java index 4e6b421e8b..cd72cae0b3 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/RecursiveWriteCandidateNode.java @@ -38,6 +38,7 @@ final class RecursiveWriteCandidateNode extends AbstractRecursiveCandidateNode { return new WriteLeafCandidateNode(childData); } + @Nonnull @Override public Optional> getDataAfter() { return dataOptional(); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java index b264a20e1e..b666456f95 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/ReplaceLeafCandidateNode.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.impl.schema.tree; import com.google.common.base.Optional; import com.google.common.base.Preconditions; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; final class ReplaceLeafCandidateNode extends AbstractWriteCandidate { @@ -19,6 +20,7 @@ final class ReplaceLeafCandidateNode extends AbstractWriteCandidate { this.oldData = Preconditions.checkNotNull(oldData); } + @Nonnull @Override public Optional> getDataBefore() { return Optional.of(oldData); diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java index d845f5fb4d..3f09577d54 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/UnmodifiedLeafCandidateNode.java @@ -23,6 +23,7 @@ final class UnmodifiedLeafCandidateNode extends AbstractAvailableLeafCandidateNo return ModificationType.UNMODIFIED; } + @Nonnull @Override public Optional> getDataBefore() { return dataOptional(); diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/dom/serializer/YangModeledAnyXMLDeserializationTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/dom/serializer/YangModeledAnyXMLDeserializationTest.java index 8cb4ad2d7d..e4eb6237f7 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/dom/serializer/YangModeledAnyXMLDeserializationTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/schema/transform/dom/serializer/YangModeledAnyXMLDeserializationTest.java @@ -20,6 +20,7 @@ import java.net.URI; import java.util.Collection; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -224,16 +225,19 @@ public class YangModeledAnyXMLDeserializationTest { return null; } + @Nonnull @Override public QName getQName() { return qName; } + @Nonnull @Override public SchemaPath getPath() { return null; } + @Nonnull @Override public List getUnknownSchemaNodes() { return null; @@ -249,11 +253,13 @@ public class YangModeledAnyXMLDeserializationTest { return null; } + @Nonnull @Override public Status getStatus() { return null; } + @Nonnull @Override public ContainerSchemaNode getSchemaOfAnyXmlData() { return contentSchema; diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java index 6526b95bea..078b02f9f3 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/ConverterNamespaceContext.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.jaxen; import com.google.common.base.Converter; import com.google.common.base.Preconditions; +import javax.annotation.Nonnull; import org.jaxen.NamespaceContext; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -21,12 +22,12 @@ final class ConverterNamespaceContext extends Converter imp } @Override - protected QNameModule doForward(final String a) { + protected QNameModule doForward(@Nonnull final String a) { return delegate.convert(a); } @Override - protected String doBackward(final QNameModule b) { + protected String doBackward(@Nonnull final QNameModule b) { return delegate.reverse().convert(b); } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocumentContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocumentContext.java index 601b5b4077..0b0e26ebb3 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocumentContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenDocumentContext.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.data.jaxen; import com.google.common.base.Preconditions; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathDocument; @@ -18,6 +19,7 @@ final class JaxenDocument implements XPathDocument { this.root = Preconditions.checkNotNull(root); } + @Nonnull @Override public NormalizedNode getRootNode() { return root; diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java index 22ddf77789..91db1a25b0 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContext.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.data.jaxen; import com.google.common.base.Converter; import com.google.common.base.Preconditions; +import javax.annotation.Nonnull; import javax.xml.xpath.XPathExpressionException; import org.jaxen.JaxenException; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -28,9 +29,10 @@ final class JaxenSchemaContext implements XPathSchemaContext { this.context = Preconditions.checkNotNull(context); } + @Nonnull @Override - public XPathExpression compileExpression(final SchemaPath schemaPath, - final Converter prefixes, final String xpath) throws XPathExpressionException { + public XPathExpression compileExpression(@Nonnull final SchemaPath schemaPath, + final Converter prefixes, @Nonnull final String xpath) throws XPathExpressionException { try { return JaxenXPath.create(prefixes, schemaPath, xpath); } catch (JaxenException e) { @@ -38,8 +40,9 @@ final class JaxenSchemaContext implements XPathSchemaContext { } } + @Nonnull @Override - public XPathDocument createDocument(final NormalizedNode documentRoot) { + public XPathDocument createDocument(@Nonnull final NormalizedNode documentRoot) { return new JaxenDocument(this, documentRoot); } } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContextFactory.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContextFactory.java index b0370b997b..403f682489 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContextFactory.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenSchemaContextFactory.java @@ -7,13 +7,15 @@ */ package org.opendaylight.yangtools.yang.data.jaxen; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathSchemaContext; import org.opendaylight.yangtools.yang.data.api.schema.xpath.XPathSchemaContextFactory; import org.opendaylight.yangtools.yang.model.api.SchemaContext; public final class JaxenSchemaContextFactory implements XPathSchemaContextFactory { + @Nonnull @Override - public XPathSchemaContext createContext(final SchemaContext context) { + public XPathSchemaContext createContext(@Nonnull final SchemaContext context) { return new JaxenSchemaContext(context); } } diff --git a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java index 11e8662c7a..a5054ef286 100644 --- a/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java +++ b/yang/yang-data-jaxen/src/main/java/org/opendaylight/yangtools/yang/data/jaxen/JaxenXPath.java @@ -12,6 +12,7 @@ import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.Lists; import java.util.List; +import javax.annotation.Nonnull; import javax.xml.xpath.XPathExpressionException; import org.jaxen.BaseXPath; import org.jaxen.ContextSupport; @@ -66,7 +67,7 @@ final class JaxenXPath implements XPathExpression { } @Override - public Optional> evaluate(final XPathDocument document, final YangInstanceIdentifier path) + public Optional> evaluate(@Nonnull final XPathDocument document, @Nonnull final YangInstanceIdentifier path) throws XPathExpressionException { Preconditions.checkArgument(document instanceof JaxenDocument); @@ -96,11 +97,13 @@ final class JaxenXPath implements XPathExpression { } } + @Nonnull @Override public SchemaPath getEvaluationPath() { return schemaPath; } + @Nonnull @Override public SchemaPath getApexPath() { // TODO: improve this diff --git a/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java b/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java index 9a4afeaf28..5f4e5e3a9c 100644 --- a/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java +++ b/yang/yang-data-transform/src/main/java/org/opendaylight/yangtools/transform/QNameTransformingStreamWriter.java @@ -52,8 +52,9 @@ public abstract class QNameTransformingStreamWriter extends ForwardingObject imp return delegate; } + @Nonnull @Override - protected QName transform(final QName key) { + protected QName transform(@Nonnull final QName key) { return transformation.apply(key); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java index dc04682699..293c839824 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringIdentityrefCodec.java @@ -26,7 +26,7 @@ public abstract class AbstractModuleStringIdentityrefCodec extends AbstractStrin protected abstract Module moduleForPrefix(@Nonnull String prefix); @Override - protected final QName createQName(final String prefix, final String localName) { + protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { final Module module = moduleForPrefix(prefix); Preconditions.checkArgument(module != null, "Failed to lookup prefix %s", prefix); return QName.create(module.getQNameModule(), localName); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java index 7e618410f8..d23be76b3b 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/AbstractModuleStringInstanceIdentifierCodec.java @@ -31,7 +31,7 @@ public abstract class AbstractModuleStringInstanceIdentifierCodec extends Abstra protected abstract Module moduleForPrefix(@Nonnull String prefix); @Override - protected final QName createQName(final String prefix, final String localName) { + protected final QName createQName(@Nonnull final String prefix, @Nonnull final String localName) { final Module module = moduleForPrefix(prefix); Preconditions.checkArgument(module != null, "Failed to lookup prefix %s", prefix); return QName.create(module.getQNameModule(), localName); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java index 0b62cf3160..c8241d5e75 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ContainerSchemaNodes.java @@ -118,6 +118,7 @@ public final class ContainerSchemaNodes { return schemaNode.getStatus(); } + @Nonnull @Override public List getUnknownSchemaNodes() { return ImmutableList.of(); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java index 4b80edf686..e012e29fef 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/DataSchemaContextTree.java @@ -19,7 +19,7 @@ public final class DataSchemaContextTree { private static final LoadingCache TREES = CacheBuilder.newBuilder() .weakKeys().weakValues().build(new CacheLoader() { @Override - public DataSchemaContextTree load(final SchemaContext key) throws Exception { + public DataSchemaContextTree load(@Nonnull final SchemaContext key) throws Exception { return new DataSchemaContextTree(key); } }); diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java index c27a871ee1..3b4bbfc0bb 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/ModuleStringIdentityrefCodec.java @@ -29,7 +29,7 @@ public abstract class ModuleStringIdentityrefCodec } @Override - protected String prefixForNamespace(final URI namespace) { + protected String prefixForNamespace(@Nonnull final URI namespace) { final Module module = context.findModuleByNamespaceAndRevision(namespace, null); return module == null ? null : module.getName(); } diff --git a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java index cd631944d6..e6b0e69e1c 100644 --- a/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java +++ b/yang/yang-data-util/src/main/java/org/opendaylight/yangtools/yang/data/util/RpcAsContainer.java @@ -12,6 +12,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.Set; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; @@ -49,6 +50,7 @@ public final class RpcAsContainer implements ContainerSchemaNode { return delegate.getGroupings(); } + @Nonnull @Override public Status getStatus() { return delegate.getStatus(); @@ -66,16 +68,19 @@ public final class RpcAsContainer implements ContainerSchemaNode { delegate = parentNode; } + @Nonnull @Override public QName getQName() { return delegate.getQName(); } + @Nonnull @Override public SchemaPath getPath() { return delegate.getPath(); } + @Nonnull @Override public List getUnknownSchemaNodes() { return Collections.emptyList(); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Module.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Module.java index f7e422e071..32eb586157 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Module.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Module.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.api; import java.util.List; import java.util.Set; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.annotation.concurrent.Immutable; import org.opendaylight.yangtools.concepts.SemVer; @@ -206,6 +207,7 @@ public interface Module extends DataNodeContainer, SourceStreamAware, ModuleIden * * @return unknown nodes in lexicographical order */ + @Nonnull List getUnknownSchemaNodes(); /** diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Rfc6020Mapping.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Rfc6020Mapping.java index 7371fbae2f..f1c25fcbe2 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Rfc6020Mapping.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/Rfc6020Mapping.java @@ -189,6 +189,7 @@ public enum Rfc6020Mapping implements StatementDefinition { return QName.create(YangConstants.RFC6020_YIN_MODULE, nameStr).intern(); } + @Nonnull @Override public QName getStatementName() { return name; @@ -204,6 +205,7 @@ public enum Rfc6020Mapping implements StatementDefinition { return type; } + @Nonnull @Override public Class> getEffectiveRepresentationClass() { return effectiveType; diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangSchemaSourceRepresentation.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangSchemaSourceRepresentation.java index a282ec10fa..4bfa55feea 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangSchemaSourceRepresentation.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangSchemaSourceRepresentation.java @@ -7,6 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import javax.annotation.Nonnull; + /** * A YANG {@link SchemaSourceRepresentation}. */ @@ -16,6 +18,7 @@ public interface YangSchemaSourceRepresentation extends SchemaSourceRepresentati * * @return The type of representation. */ + @Nonnull @Override Class getType(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java index 82651b466a..26884d9ff4 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YangTextSchemaSource.java @@ -18,6 +18,7 @@ import com.google.common.io.ByteSource; import java.io.IOException; import java.io.InputStream; import java.util.Map.Entry; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Delegator; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.common.YangNames; @@ -54,6 +55,7 @@ public abstract class YangTextSchemaSource extends ByteSource implements YangSch /** * {@inheritDoc} */ + @Nonnull @Override public Class getType() { return YangTextSchemaSource.class; diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java index a6bf7cfdc4..ca318d7d54 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java @@ -176,6 +176,7 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource { this.source = Preconditions.checkNotNull(source); } + @Nonnull @Override public DOMSource getSource() { return source; @@ -200,6 +201,7 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource { this.xmlSchemaSource = Preconditions.checkNotNull(xmlSchemaSource); } + @Nonnull @Override public DOMSource getSource() { DOMSource ret = source; diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinSchemaSourceRepresentation.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinSchemaSourceRepresentation.java index 600a3838b4..6134babcf2 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinSchemaSourceRepresentation.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinSchemaSourceRepresentation.java @@ -7,6 +7,8 @@ */ package org.opendaylight.yangtools.yang.model.repo.api; +import javax.annotation.Nonnull; + /** * A YIN {@link SchemaSourceRepresentation}. */ @@ -16,6 +18,7 @@ public interface YinSchemaSourceRepresentation extends SchemaSourceRepresentatio * * @return The type of representation. */ + @Nonnull @Override Class getType(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java index 970df9e3a0..ed96d9d718 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinTextSchemaSource.java @@ -16,6 +16,7 @@ import com.google.common.io.ByteSource; import java.io.IOException; import java.io.InputStream; import java.util.Map.Entry; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Delegator; import org.opendaylight.yangtools.yang.common.YangConstants; import org.opendaylight.yangtools.yang.common.YangNames; @@ -63,6 +64,7 @@ public abstract class YinTextSchemaSource extends ByteSource implements YinSchem /** * {@inheritDoc} */ + @Nonnull @Override public Class getType() { return YinTextSchemaSource.class; diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinXmlSchemaSource.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinXmlSchemaSource.java index 3e028a85b7..8f28fa1157 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinXmlSchemaSource.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinXmlSchemaSource.java @@ -16,6 +16,7 @@ import javax.xml.transform.Source; */ @Beta public interface YinXmlSchemaSource extends YinSchemaSourceRepresentation { + @Nonnull @Override Class getType(); diff --git a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/ExtensionStatement.java b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/ExtensionStatement.java index 291c56bf09..f02b8231b6 100644 --- a/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/ExtensionStatement.java +++ b/yang/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/ExtensionStatement.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.export; import java.util.Collection; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; @@ -46,6 +47,7 @@ final class ExtensionStatement implements StatementDefinition { return argumentName; } + @Nonnull @Override public QName getStatementName() { return statementName; @@ -56,11 +58,13 @@ final class ExtensionStatement implements StatementDefinition { return yinElement; } + @Nonnull @Override public Class> getDeclaredRepresentationClass() { throw new UnsupportedOperationException("Not defined"); } + @Nonnull @Override public Class> getEffectiveRepresentationClass() { throw new UnsupportedOperationException("Not defined"); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java index ba5a40fcfc..e059265d4d 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/AbstractSchemaRepository.java @@ -24,6 +24,7 @@ import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import javax.annotation.Nonnull; import javax.annotation.concurrent.GuardedBy; import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; import org.opendaylight.yangtools.util.concurrent.ReflectiveExceptionMapper; @@ -73,7 +74,7 @@ public abstract class AbstractSchemaRepository implements SchemaRepository, Sche return Futures.makeChecked(Futures.withFallback(f, new FutureFallback() { @Override - public ListenableFuture create(final Throwable t) throws SchemaSourceException { + public ListenableFuture create(@Nonnull final Throwable t) throws SchemaSourceException { LOG.debug("Failed to acquire source from {}", reg, t); if (it.hasNext()) { @@ -86,7 +87,7 @@ public abstract class AbstractSchemaRepository implements SchemaRepository, Sche } @Override - public CheckedFuture getSchemaSource(final SourceIdentifier id, final Class representation) { + public CheckedFuture getSchemaSource(@Nonnull final SourceIdentifier id, @Nonnull final Class representation) { final ArrayList> sortedSchemaSourceRegistrations; synchronized (this) { @@ -118,7 +119,7 @@ public abstract class AbstractSchemaRepository implements SchemaRepository, Sche } @Override - public void onFailure(final Throwable t) { + public void onFailure(@Nonnull final Throwable t) { LOG.trace("Skipping notification for encountered source {}, fetching source failed", id, t); } }); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java index b691317bf2..24a4826983 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformer.java @@ -13,6 +13,7 @@ import com.google.common.util.concurrent.CheckedFuture; import com.google.common.util.concurrent.Futures; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; import org.opendaylight.yangtools.util.concurrent.ReflectiveExceptionMapper; import org.opendaylight.yangtools.yang.model.repo.api.SchemaRepository; @@ -31,7 +32,7 @@ public class SchemaSourceTransformer extends AsyncFunction { @Override - CheckedFuture apply(final S input) throws Exception; + CheckedFuture apply(@Nonnull final S input) throws Exception; } private final Map, RefcountedRegistration> sources = new HashMap<>(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java index 737461b873..25a77b8e3c 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/AbstractSchemaContext.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeSet; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; @@ -152,11 +153,13 @@ public abstract class AbstractSchemaContext implements SchemaContext { return null; } + @Nonnull @Override public QName getQName() { return SchemaContext.NAME; } + @Nonnull @Override public SchemaPath getPath() { return SchemaPath.ROOT; @@ -172,11 +175,13 @@ public abstract class AbstractSchemaContext implements SchemaContext { return null; } + @Nonnull @Override public Status getStatus() { return Status.CURRENT; } + @Nonnull @Override public List getUnknownSchemaNodes() { final List result = new ArrayList<>(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java index 237fa5e6b0..ef9f97d0d1 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractBaseType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.collect.ImmutableList; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; @@ -49,6 +50,7 @@ abstract class AbstractBaseType> extends AbstractTyp return null; } + @Nonnull @Override public final Status getStatus() { return Status.CURRENT; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java index 90074c872e..f28e62fa7e 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractDerivedType.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -63,6 +64,7 @@ abstract class AbstractDerivedType> extends Abstract return reference; } + @Nonnull @Override public final Status getStatus() { return status; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedType.java index cf1f4d0cc4..ad85696004 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangeRestrictedType.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -24,6 +25,7 @@ abstract class AbstractRangeRestrictedType> extends this.rangeConstraints = ImmutableList.copyOf(rangeConstraints); } + @Nonnull public final List getRangeConstraints() { return rangeConstraints; } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangedBaseType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangedBaseType.java index 4ab19cbb2a..522105f858 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangedBaseType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRangedBaseType.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -32,6 +33,7 @@ abstract class AbstractRangedBaseType> extends Abstr this.rangeConstraints = ImmutableList.copyOf(rangeConstraints); } + @Nonnull public final List getRangeConstraints() { return rangeConstraints; } diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java index 9d30fc9b0e..8020ef584f 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractRestrictedType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.base.Preconditions; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.TypeDefinition; @@ -47,6 +48,7 @@ abstract class AbstractRestrictedType> extends Abstr return baseType.getReference(); } + @Nonnull @Override public final Status getStatus() { return baseType.getStatus(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java index b6013348fe..f8630c680a 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/AbstractTypeDefinition.java @@ -11,6 +11,7 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -26,16 +27,19 @@ abstract class AbstractTypeDefinition> implements Im this.unknownSchemaNodes = ImmutableList.copyOf(unknownSchemaNodes); } + @Nonnull @Override public final QName getQName() { return path.getLastComponent(); } + @Nonnull @Override public final SchemaPath getPath() { return path; } + @Nonnull @Override public final List getUnknownSchemaNodes() { return unknownSchemaNodes; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseBitsType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseBitsType.java index 1ea3156ed2..720c6905b8 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseBitsType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseBitsType.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition; @@ -22,6 +23,7 @@ final class BaseBitsType extends AbstractBaseType implements this.bits = ImmutableList.copyOf(bits); } + @Nonnull @Override public List getBits() { return bits; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java index cdbc403f95..ad0c5b62ee 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BaseDecimalType.java @@ -12,6 +12,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList.Builder; import java.math.BigDecimal; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition; @@ -60,6 +61,7 @@ final class BaseDecimalType extends AbstractRangedBaseType imp this.values = ImmutableList.copyOf(values); } + @Nonnull @Override public List getValues() { return values; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java index 8828f4dda3..08246d9a09 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/BitImpl.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.base.Preconditions; import java.util.List; import java.util.Objects; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -37,11 +38,13 @@ final class BitImpl implements Bit, Immutable { this.unknownNodes = Preconditions.checkNotNull(unknownNodes); } + @Nonnull @Override public QName getQName() { return schemaPath.getLastComponent(); } + @Nonnull @Override public SchemaPath getPath() { return schemaPath; @@ -57,11 +60,13 @@ final class BitImpl implements Bit, Immutable { return reference; } + @Nonnull @Override public Status getStatus() { return status; } + @Nonnull @Override public List getUnknownSchemaNodes() { return unknownNodes; @@ -72,6 +77,7 @@ final class BitImpl implements Bit, Immutable { return position; } + @Nonnull @Override public String getName() { return getQName().getLocalName(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/ConcreteTypes.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/ConcreteTypes.java index 5dc206a5c7..cacc6cff71 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/ConcreteTypes.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/ConcreteTypes.java @@ -69,6 +69,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteBinaryBuilder(@Nonnull final BinaryTypeDefinition baseType, @Nonnull final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public BinaryTypeDefinition buildType() { return new DerivedBinaryType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -79,6 +80,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteBitsBuilder(final BitsTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public BitsTypeDefinition buildType() { return new DerivedBitsType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -89,6 +91,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteBooleanBuilder(@Nonnull final BooleanTypeDefinition baseType, @Nonnull final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public BooleanTypeDefinition buildType() { return new DerivedBooleanType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -99,6 +102,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteDecimalBuilder(final DecimalTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public DecimalTypeDefinition buildType() { return new DerivedDecimalType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -109,6 +113,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteEmptyBuilder(final EmptyTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public EmptyTypeDefinition buildType() { return new DerivedEmptyType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -119,6 +124,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteEnumerationBuilder(final EnumTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public EnumTypeDefinition buildType() { return new DerivedEnumerationType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -129,6 +135,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteIdentityrefBuilder(final IdentityrefTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public IdentityrefTypeDefinition buildType() { return new DerivedIdentityrefType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -139,6 +146,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteInstanceIdentifierBuilder(final InstanceIdentifierTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public InstanceIdentifierTypeDefinition buildType() { return new DerivedInstanceIdentifierType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -149,6 +157,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteIntegerBuilder(final IntegerTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public IntegerTypeDefinition buildType() { return new DerivedIntegerType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -159,6 +168,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteLeafrefBuilder(final LeafrefTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public LeafrefTypeDefinition buildType() { return new DerivedLeafrefType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -169,6 +179,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteStringBuilder(final StringTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public StringTypeDefinition buildType() { return new DerivedStringType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -179,6 +190,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteUnionBuilder(final UnionTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public DerivedUnionType buildType() { return new DerivedUnionType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), @@ -189,6 +201,7 @@ public final class ConcreteTypes { private static ConcreteTypeBuilder concreteUnsignedBuilder(final UnsignedIntegerTypeDefinition baseType, final SchemaPath path) { return new ConcreteTypeBuilder(baseType, path) { + @Nonnull @Override public UnsignedIntegerTypeDefinition buildType() { return new DerivedUnsignedType(getBaseType(), getPath(), getDefaultValue(), getDescription(), getReference(), diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedBitsType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedBitsType.java index d28ba8ec64..c76a1464b8 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedBitsType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedBitsType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -21,6 +22,7 @@ final class DerivedBitsType extends AbstractDerivedType impl super(baseType, path, defaultValue, description, reference, status, units, unknownSchemNodes); } + @Nonnull @Override public List getBits() { return baseType().getBits(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedDecimalType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedDecimalType.java index 9da3b92b60..15acf3c8fe 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedDecimalType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedDecimalType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -22,11 +23,13 @@ final class DerivedDecimalType extends AbstractDerivedType getRangeConstraints() { return baseType().getRangeConstraints(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedEnumerationType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedEnumerationType.java index ce5bb9dd86..38c1c67ead 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedEnumerationType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedEnumerationType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -21,6 +22,7 @@ final class DerivedEnumerationType extends AbstractDerivedType getValues() { return baseType().getValues(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedIntegerType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedIntegerType.java index c5194a3c81..ef4998a81e 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedIntegerType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedIntegerType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -21,6 +22,7 @@ final class DerivedIntegerType extends AbstractDerivedType getRangeConstraints() { return baseType().getRangeConstraints(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedUnsignedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedUnsignedType.java index 13b7c6a52c..4c11643bc7 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedUnsignedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/DerivedUnsignedType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -24,6 +25,7 @@ final class DerivedUnsignedType extends AbstractDerivedType getRangeConstraints() { return baseType().getRangeConstraints(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java index 5ba72ffe69..07deab72c1 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/EnumPairImpl.java @@ -11,6 +11,7 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; import java.util.List; import java.util.Objects; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; @@ -34,6 +35,7 @@ final class EnumPairImpl implements EnumPair, Immutable { this.unknownSchemaNodes = Preconditions.checkNotNull(unknownSchemaNodes); } + @Nonnull @Override public List getUnknownSchemaNodes() { return unknownSchemaNodes; @@ -49,6 +51,7 @@ final class EnumPairImpl implements EnumPair, Immutable { return reference; } + @Nonnull @Override public Status getStatus() { return status; diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedBitsType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedBitsType.java index bd18e8bfc6..e24dc3f7f7 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedBitsType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedBitsType.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition; @@ -19,6 +20,7 @@ final class RestrictedBitsType extends AbstractRestrictedType getBits() { return getBaseType().getBits(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedDecimalType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedDecimalType.java index 5f0826083f..ecd6e14baa 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedDecimalType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedDecimalType.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.DecimalTypeDefinition; @@ -20,6 +21,7 @@ final class RestrictedDecimalType extends AbstractRangeRestrictedType getValues() { return getBaseType().getValues(); diff --git a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedUnsignedType.java b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedUnsignedType.java index f2e295adf7..f2151132c6 100644 --- a/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedUnsignedType.java +++ b/yang/yang-model-util/src/main/java/org/opendaylight/yangtools/yang/model/util/type/RestrictedUnsignedType.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.util.type; import com.google.common.collect.ImmutableList; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; @@ -25,6 +26,7 @@ final class RestrictedUnsignedType extends AbstractRestrictedType getRangeConstraints() { return rangeConstraints; diff --git a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java index 461dcf6c73..9bc44aa84f 100644 --- a/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java +++ b/yang/yang-model-util/src/test/java/org/opendaylight/yangtools/yang/model/repo/util/SchemaSourceTransformerTest.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.model.repo.util; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import com.google.common.util.concurrent.AsyncFunction; @@ -142,7 +143,7 @@ public class SchemaSourceTransformerTest { private class Provider extends AbstractSchemaRepository { @Override - public SchemaContextFactory createSchemaContextFactory(final SchemaSourceFilter filter) { + public SchemaContextFactory createSchemaContextFactory(@Nonnull final SchemaSourceFilter filter) { return null; } @@ -151,7 +152,7 @@ public class SchemaSourceTransformerTest { private class Consumer extends AbstractSchemaRepository { @Override - public SchemaContextFactory createSchemaContextFactory(final SchemaSourceFilter filter) { + public SchemaContextFactory createSchemaContextFactory(@Nonnull final SchemaSourceFilter filter) { return null; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaContextFactory.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaContextFactory.java index eb8d977c89..cffd246daa 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaContextFactory.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaContextFactory.java @@ -28,6 +28,7 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.function.Predicate; +import javax.annotation.Nonnull; import org.antlr.v4.runtime.ParserRuleContext; import org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser.StatementContext; import org.opendaylight.yangtools.util.concurrent.ExceptionMapper; @@ -111,7 +112,7 @@ final class SharedSchemaContextFactory implements SchemaContextFactory { } @Override - public void onFailure(final Throwable t) { + public void onFailure(@Nonnull final Throwable t) { LOG.debug("Failed to assemble sources", t); } }); @@ -187,7 +188,7 @@ final class SharedSchemaContextFactory implements SchemaContextFactory { } @Override - public ListenableFuture apply(final List sources) throws SchemaResolutionException, + public ListenableFuture apply(@Nonnull final List sources) throws SchemaResolutionException, SourceException, ReactorException { final Map srcs = Maps.uniqueIndex(sources, getIdentifier); final Map deps = diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java index 1ff9f32908..b920383b90 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepository.java @@ -13,6 +13,7 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.repo.api.SchemaContextFactory; @@ -33,7 +34,7 @@ public final class SharedSchemaRepository extends AbstractSchemaRepository imple private final LoadingCache cache = CacheBuilder.newBuilder().softValues().build(new CacheLoader() { @Override - public SchemaContextFactory load(final SchemaSourceFilter key) { + public SchemaContextFactory load(@Nonnull final SchemaSourceFilter key) { return new SharedSchemaContextFactory(SharedSchemaRepository.this, key); } }); @@ -49,7 +50,7 @@ public final class SharedSchemaRepository extends AbstractSchemaRepository imple } @Override - public SchemaContextFactory createSchemaContextFactory(final SchemaSourceFilter filter) { + public SchemaContextFactory createSchemaContextFactory(@Nonnull final SchemaSourceFilter filter) { return cache.getUnchecked(filter); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc6020/repo/YinStatementStreamSource.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc6020/repo/YinStatementStreamSource.java index 05ceca6219..1f7e9cf2bd 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc6020/repo/YinStatementStreamSource.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/rfc6020/repo/YinStatementStreamSource.java @@ -16,6 +16,7 @@ import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import java.net.URI; import java.net.URISyntaxException; +import javax.annotation.Nonnull; import javax.xml.transform.TransformerException; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.common.QName; @@ -50,7 +51,7 @@ public final class YinStatementStreamSource implements Identifiable URI_CACHE = CacheBuilder.newBuilder().weakValues().build( new CacheLoader() { @Override - public URI load(final String key) throws URISyntaxException { + public URI load(@Nonnull final String key) throws URISyntaxException { return new URI(key); } }); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java index 64b298c195..5150b8505b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractDeclaredStatement.java @@ -13,6 +13,7 @@ import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; @@ -60,16 +61,19 @@ public abstract class AbstractDeclaredStatement implements DeclaredStatement< return argument; } + @Nonnull @Override public StatementDefinition statementDefinition() { return definition; } + @Nonnull @Override public Collection> declaredSubstatements() { return substatements; } + @Nonnull @Override public StatementSource getStatementSource() { return source; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java index ab974ea255..3fb3758f32 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/AbstractStatementSupport.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi.meta; import com.google.common.base.Preconditions; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -38,6 +39,7 @@ public abstract class AbstractStatementSupport this.type = Preconditions.checkNotNull(publicDefinition); } + @Nonnull @Override public final QName getStatementName() { return type.getStatementName(); @@ -48,11 +50,13 @@ public abstract class AbstractStatementSupport return type.getArgumentName(); } + @Nonnull @Override public final Class> getDeclaredRepresentationClass() { return type.getDeclaredRepresentationClass(); } + @Nonnull @Override public final Class> getEffectiveRepresentationClass() { return type.getEffectiveRepresentationClass(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java index 81984076fe..6082555a57 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java @@ -53,7 +53,6 @@ public abstract class NamespaceBehaviour> Map getAllFromLocalStorage(Class type); - @Nullable > void addToLocalStorage(Class type, K key, V value); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/QNameCacheNamespace.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/QNameCacheNamespace.java index 79b25dd257..c95f93e159 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/QNameCacheNamespace.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/QNameCacheNamespace.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi.meta; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; @@ -29,7 +30,7 @@ public final class QNameCacheNamespace extends NamespaceBehaviour, E extends IdentifierNamespace> { @Override @Nullable - StmtContext get(K key); + StmtContext get(@Nonnull K key); interface TreeScoped, E extends EffectiveStatement> extends StatementNamespace { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java index 593969cc78..62b48676e5 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContext.java @@ -140,6 +140,7 @@ public interface StmtContext, E extends Effect Class type, KT key, VT value) throws NamespaceNotAvailableException; + @Nonnull @Override StmtContext.Mutable getRoot(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModule.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModule.java index ca8a66a13b..0298046db1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModule.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModule.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.spi.source; import java.net.URISyntaxException; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; @@ -30,7 +31,7 @@ public interface PrefixToModule extends IdentifierNamespace * */ @Override - @Nullable QNameModule get(String prefix); + @Nullable QNameModule get(@Nonnull String prefix); /** * Returns QNameModule (namespace + revision) associated with XML namespace diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java index 506247b4a9..d534df1007 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java @@ -11,6 +11,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -35,7 +36,7 @@ public class PrefixToModuleMap implements PrefixToModule { @Nullable @Override - public QNameModule get(String prefix) { + public QNameModule get(@Nonnull String prefix) { return prefixToModuleMap.get(prefix); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java index b0258c5140..f0ac905a0f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/QNameToStatementDefinitionMap.java @@ -76,7 +76,7 @@ public class QNameToStatementDefinitionMap implements QNameToStatementDefinition @Nullable @Override - public StatementDefinition getByNamespaceAndLocalName(final URI namespace, @Nonnull final String localName) { + public StatementDefinition getByNamespaceAndLocalName(@Nonnull final URI namespace, @Nonnull final String localName) { return noRevQNameToSupport.get(QName.create(namespace, null, localName)); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java index c0c3fcf3ef..59e8ae7607 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java @@ -17,6 +17,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.function.Function; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; @@ -154,6 +155,7 @@ class ModifierImpl implements ModelActionBuilder { return false; } + @Nonnull @Override public , CT extends C> Prerequisite mutatesCtx(final CT context, final ModelProcessingPhase phase) { try { @@ -163,28 +165,33 @@ class ModifierImpl implements ModelActionBuilder { } } + @Nonnull @Override public ,E extends EffectiveStatement> AbstractPrerequisite> requiresCtx(final StmtContext context, final ModelProcessingPhase phase) { return requiresCtxImpl(context, phase); } + @Nonnull @Override public > Prerequisite> requiresCtx(final StmtContext context, final Class namespace, final K key, final ModelProcessingPhase phase) { return requiresCtxImpl(context, namespace, key, phase); } + @Nonnull @Override public > Prerequisite requiresDeclared(final StmtContext context) { return requiresCtxImpl(context, FULL_DECLARATION).transform(StmtContext::buildDeclared); } + @Nonnull @Override public , N extends StatementNamespace> AbstractPrerequisite> requiresDeclaredCtx( final StmtContext context, final Class namespace, final K key) { return requiresCtxImpl(context, namespace, key, FULL_DECLARATION); } + @Nonnull @Override public , N extends StatementNamespace> Prerequisite requiresDeclared( final StmtContext context, final Class namespace, final K key) { @@ -192,17 +199,20 @@ class ModifierImpl implements ModelActionBuilder { return rawContext.transform(StmtContext::buildDeclared); } + @Nonnull @Override public > Prerequisite requiresEffective(final StmtContext stmt) { return requiresCtxImpl(stmt, EFFECTIVE_MODEL).transform(StmtContext::buildEffective); } + @Nonnull @Override public , N extends StatementNamespace> AbstractPrerequisite> requiresEffectiveCtx( final StmtContext context, final Class namespace, final K key) { return requiresCtxImpl(contextImpl(context), namespace,key, EFFECTIVE_MODEL); } + @Nonnull @Override public , N extends StatementNamespace> Prerequisite requiresEffective( final StmtContext context, final Class namespace, final K key) { @@ -211,6 +221,7 @@ class ModifierImpl implements ModelActionBuilder { } + @Nonnull @Override public > Prerequisite> mutatesNs(final Mutable context, final Class namespace) { @@ -221,11 +232,13 @@ class ModifierImpl implements ModelActionBuilder { } } + @Nonnull @Override public > Prerequisite mutatesEffectiveCtx(final T stmt) { return mutatesCtx(stmt, EFFECTIVE_MODEL); } + @Nonnull @Override public , N extends IdentifierNamespace>> AbstractPrerequisite> mutatesEffectiveCtx( final StmtContext context, final Class namespace, final K key) { diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java index 067cb6fa3b..0fe03bec79 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceStorageSupport.java @@ -12,6 +12,7 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace; import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour; @@ -38,6 +39,7 @@ abstract class NamespaceStorageSupport implements NamespaceStorageNode { // NOOP } + @Nonnull public final > V getFromNamespace(final Class type, final KT key) throws NamespaceNotAvailableException { return getBehaviourRegistry().getNamespaceBehaviour(type).getFrom(this,key); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java index 0906135fcb..ff139209b2 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java @@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableList; import java.util.ArrayList; import java.util.Collection; import java.util.Map; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -103,6 +104,7 @@ public class RootStatementContext, E extends E /** * @return this as its own root */ + @Nonnull @Override public RootStatementContext getRoot() { return this; @@ -149,6 +151,7 @@ public class RootStatementContext, E extends E return copy; } + @Nonnull @Override public Optional getSchemaPath() { return Optional.of(SchemaPath.ROOT); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java index d518069098..61244458cd 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java @@ -234,6 +234,7 @@ public abstract class StatementContextBase, E /** * @return root context of statement */ + @Nonnull @Override public abstract RootStatementContext getRoot(); @@ -248,6 +249,7 @@ public abstract class StatementContextBase, E /** * @return origin of statement */ + @Nonnull @Override public StatementSource getStatementSource() { return statementDeclSource.getStatementSource(); @@ -256,6 +258,7 @@ public abstract class StatementContextBase, E /** * @return reference of statement source */ + @Nonnull @Override public StatementSourceReference getStatementSourceReference() { return statementDeclSource; @@ -277,11 +280,13 @@ public abstract class StatementContextBase, E return Collections.unmodifiableCollection(input); } + @Nonnull @Override public Collection> declaredSubstatements() { return maybeWrap(declared); } + @Nonnull @Override public Collection> effectiveSubstatements() { return maybeWrap(effective); @@ -580,6 +585,7 @@ public abstract class StatementContextBase, E /** * @see StatementSupport#getPublicView() */ + @Nonnull @Override public StatementDefinition getPublicDefinition() { return definition().getPublicView(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextWriter.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextWriter.java index 8a8e4c2caa..c59d1d94f0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextWriter.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextWriter.java @@ -27,14 +27,14 @@ final class StatementContextWriter implements StatementWriter { } @Override - public void startStatement(final int childId, final QName name, final String argument, - final StatementSourceReference ref) { + public void startStatement(final int childId, @Nonnull final QName name, final String argument, + @Nonnull final StatementSourceReference ref) { deferredCreate(); current = ctx.createDeclaredChild(parent, childId, name, argument, ref); } @Override - public void endStatement(final StatementSourceReference ref) { + public void endStatement(@Nonnull final StatementSourceReference ref) { deferredCreate(); Preconditions.checkState(parent != null); parent.endDeclared(ref,phase); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java index e7f6200c6b..1c78ae16c0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SubstatementContext.java @@ -14,6 +14,7 @@ import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.Collection; import java.util.Set; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; @@ -95,6 +96,7 @@ final class SubstatementContext, E extends Eff return parent.getBehaviourRegistry(); } + @Nonnull @Override public RootStatementContext getRoot() { return parent.getRoot(); @@ -243,6 +245,7 @@ final class SubstatementContext, E extends Eff return maybeParentPath.orNull(); } + @Nonnull @Override public Optional getSchemaPath() { SchemaPath local = schemaPath; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AbstractRootStatement.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AbstractRootStatement.java index 2cc98a804b..58cf01b59d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AbstractRootStatement.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AbstractRootStatement.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.stmt.AugmentStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BodyGroup; @@ -40,11 +41,13 @@ public abstract class AbstractRootStatement> super(context); } + @Nonnull @Override public final Collection getImports() { return allDeclared(ImportStatement.class); } + @Nonnull @Override public final Collection getIncludes() { return allDeclared(IncludeStatement.class); @@ -70,56 +73,67 @@ public abstract class AbstractRootStatement> return firstDeclared(ContactStatement.class); } + @Nonnull @Override public final Collection getRevisions() { return allDeclared(RevisionStatement.class); } + @Nonnull @Override public final Collection getExtensions() { return allDeclared(ExtensionStatement.class); } + @Nonnull @Override public final Collection getFeatures() { return allDeclared(FeatureStatement.class); } + @Nonnull @Override public final Collection getIdentities() { return allDeclared(IdentityStatement.class); } + @Nonnull @Override public Collection getTypedefs() { return allDeclared(TypedefStatement.class); } + @Nonnull @Override public Collection getGroupings() { return allDeclared(GroupingStatement.class); } + @Nonnull @Override public Collection getDataDefinitions() { return allDeclared(DataDefinitionStatement.class); } + @Nonnull @Override public final Collection getAugments() { return allDeclared(AugmentStatement.class); } + @Nonnull @Override public final Collection getRpcs() { return allDeclared(RpcStatement.class); } + @Nonnull @Override public final Collection getNotifications() { return allDeclared(NotificationStatement.class); } + @Nonnull @Override public final Collection getDeviations() { return allDeclared(DeviationStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java index fe30481bbc..f14bf10f34 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AnyxmlStatementImpl.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import com.google.common.base.Optional; import java.util.Collection; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; @@ -113,6 +114,7 @@ public class AnyxmlStatementImpl extends AbstractDeclaredStatement implem } } + @Nonnull @Override public QName getName() { return argument(); @@ -123,11 +125,13 @@ public class AnyxmlStatementImpl extends AbstractDeclaredStatement implem return firstDeclared(WhenStatement.class); } + @Nonnull @Override public Collection getIfFeatures() { return allDeclared(IfFeatureStatement.class); } + @Nonnull @Override public Collection getMusts() { return allDeclared(MustStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java index e2fd7af886..f310aa848f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -63,6 +64,7 @@ public class ArgumentStatementImpl extends AbstractDeclaredStatement } } + @Nonnull @Override public QName getName() { return argument(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java index 7aa513a020..e185d5aa2b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/AugmentStatementImpl.java @@ -363,6 +363,7 @@ public class AugmentStatementImpl extends AbstractDeclaredStatement getDataDefinitions() { return allDeclared(DataDefinitionStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BaseStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BaseStatementImpl.java index 9fdf95ae95..7a0a7fff99 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BaseStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BaseStatementImpl.java @@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.ArrayList; import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -105,6 +106,7 @@ public class BaseStatementImpl extends AbstractDeclaredStatement implemen } } + @Nonnull @Override public QName getName() { return argument(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java index 464cbd9591..a2a4e49785 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BelongsToStatementImpl.java @@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.Collection; import java.util.Optional; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.SimpleDateFormatUtil; import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; @@ -110,11 +111,13 @@ public class BelongsToStatementImpl extends AbstractDeclaredStatement } } + @Nonnull @Override public String getModule() { return argument(); } + @Nonnull @Override public PrefixStatement getPrefix() { return firstDeclared(PrefixStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java index cfff727609..83a189a5f6 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitStatementImpl.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -80,6 +81,7 @@ public class BitStatementImpl extends AbstractDeclaredStatement implement return firstDeclared(ReferenceStatement.class); } + @Nonnull @Override public String getName() { return argument().getLocalName(); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java index 055efd2268..57db8d5e29 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement; @@ -61,11 +62,13 @@ public class BitsSpecificationImpl extends AbstractDeclaredStatement imp } } + @Nonnull @Override public String getName() { return argument(); } + @Nonnull @Override public Collection getBits() { return allDeclared(BitStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java index dcfcf3bf20..5d15cc3f4b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BuiltinTypeStatement.java @@ -13,6 +13,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableMap.Builder; import java.util.Collection; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @@ -71,21 +72,25 @@ final class BuiltinTypeStatement implements TypeStatement { return argument; } + @Nonnull @Override public Collection> declaredSubstatements() { return ImmutableList.of(); } + @Nonnull @Override public StatementDefinition statementDefinition() { return Rfc6020Mapping.TYPE; } + @Nonnull @Override public String getName() { return argument; } + @Nonnull @Override public StatementSource getStatementSource() { return StatementSource.DECLARATION; diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java index a49ce2b8dd..30df86d40d 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/CaseStatementImpl.java @@ -97,6 +97,7 @@ public class CaseStatementImpl extends AbstractDeclaredStatement implemen return allDeclared(IfFeatureStatement.class); } + @Nonnull @Override public Collection getDataDefinitions() { return allDeclared(DataDefinitionStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChildSchemaNodes.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChildSchemaNodes.java index 344af3b6e6..e7cc7facd7 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChildSchemaNodes.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ChildSchemaNodes.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.Map; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -30,7 +31,7 @@ public class ChildSchemaNodes,E extends Effec } @Override - public StmtContext get(final QName key) { + public StmtContext get(@Nonnull final QName key) { // TODO Auto-generated method stub return null; } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContainerStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContainerStatementImpl.java index 7c4d847323..605ab3c28b 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContainerStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ContainerStatementImpl.java @@ -8,6 +8,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.Collection; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; @@ -91,6 +92,7 @@ public class ContainerStatementImpl extends AbstractDeclaredStatement imp } } + @Nonnull @Override public QName getName() { return argument(); @@ -101,6 +103,7 @@ public class ContainerStatementImpl extends AbstractDeclaredStatement imp return firstDeclared(WhenStatement.class); } + @Nonnull @Override public Collection getIfFeatures() { return allDeclared(IfFeatureStatement.class); @@ -136,16 +139,19 @@ public class ContainerStatementImpl extends AbstractDeclaredStatement imp return firstDeclared(ReferenceStatement.class); } + @Nonnull @Override public Collection getTypedefs() { return allDeclared(TypedefStatement.class); } + @Nonnull @Override public Collection getGroupings() { return allDeclared(GroupingStatement.class); } + @Nonnull @Override public Collection getDataDefinitions() { return allDeclared(DataDefinitionStatement.class); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java index 0b46a69aac..3513ef0b71 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/Decimal64SpecificationImpl.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement; @@ -60,11 +61,13 @@ public class Decimal64SpecificationImpl extends AbstractDeclaredStatement