Ignore empty augmentations at runtime
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / AbstractBindingNormalizedNodeCache.java
index 8b602c1056f05c609b395c26122b96ebbae92938..b1fbf23dc469a2add7e6f1ee8ec48a782d7f0c04 100644 (file)
@@ -12,6 +12,7 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
+import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.binding.BindingObject;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
@@ -25,13 +26,14 @@ import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
  * @param <C> Root codec context type
  */
 abstract class AbstractBindingNormalizedNodeCache<T extends BindingObject, C extends NodeCodecContext>
-        extends CacheLoader<T, NormalizedNode<?, ?>> {
-    private final LoadingCache<T, NormalizedNode<?, ?>> cache = CacheBuilder.newBuilder().weakValues().build(this);
-
+        extends CacheLoader<T, NormalizedNode> {
+    private final LoadingCache<T, NormalizedNode> cache;
     private final @NonNull C rootContext;
 
+    @SuppressFBWarnings(value = "MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR", justification = "False positive")
     AbstractBindingNormalizedNodeCache(final C rootContext) {
         this.rootContext = requireNonNull(rootContext);
+        cache = CacheBuilder.newBuilder().weakValues().build(this);
     }
 
     /**
@@ -50,7 +52,7 @@ abstract class AbstractBindingNormalizedNodeCache<T extends BindingObject, C ext
      * @param obj Binding object to be deserialized
      * @return NormalizedNode representation of binding object.
      */
-    final NormalizedNode<?, ?> get(final @NonNull T obj) {
+    final NormalizedNode get(final @NonNull T obj) {
         return cache.getUnchecked(obj);
     }
 }