Make EffectiveStatement.get() more friendly 15/97415/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Sep 2021 09:29:05 +0000 (11:29 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Sep 2021 09:29:05 +0000 (11:29 +0200)
Return Optional<V> instead of a ? extends V.

Change-Id: Ia8570d796ae33d2d91396d621cb7dac7ca122049
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/EffectiveStatement.java
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java
model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveStatement.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BuiltinEffectiveStatement.java

index fe8d8b2522299bdc586ae654ec6915c863444ec0..80ae61b961c860c1dd7b2a0823ee2cecbe283dcb 100644 (file)
@@ -42,9 +42,8 @@ public interface EffectiveStatement<A, D extends DeclaredStatement<A>> extends M
      * @param identifier Identifier of element.
      * @return Value if present
      */
-    //<K, V, N extends IdentifierNamespace<? super K, ? extends V>> V
-    <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(@NonNull Class<N> namespace,
-            @NonNull K identifier);
+    <K, V, N extends IdentifierNamespace<K, V>> @NonNull Optional<V> get(@NonNull Class<N> namespace,
+        @NonNull K identifier);
 
     /**
      * Returns all local values from supplied namespace.
index b8957b3accf4172ff44fb8caff03b49ead8c1706..fffda854ed8c45ca0f0cc51e6f2bfcf26048ba53 100644 (file)
@@ -129,7 +129,7 @@ public final class TypedefEffectiveStatementImpl extends WithSubstatements<QName
         }
 
         @Override
-        public <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(final Class<N> namespace,
+        public <K, V, N extends IdentifierNamespace<K, V>> Optional<V> get(final Class<N> namespace,
                 final K identifier) {
             return TypedefEffectiveStatementImpl.this.get(namespace, identifier);
         }
index 9aa1c80304ca5e169efd94e619db9539ff822cd5..21c5c69da920aabd7a10f5a3858741a78a9a9767 100644 (file)
@@ -43,7 +43,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
 abstract class AbstractEffectiveStatement<A, D extends DeclaredStatement<A>>
         extends AbstractModelStatement<A> implements EffectiveStatement<A, D> {
     @Override
-    public final <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(final Class<N> namespace,
+    public final <K, V, N extends IdentifierNamespace<K, V>> Optional<V> get(final Class<N> namespace,
             final K identifier) {
         return Optional.ofNullable(getAll(namespace).get(requireNonNull(identifier)));
     }
index 3cb3911c864ea9d666948ef87d6878e1acb02c80..1b2d13588849025775ef2c78a1bf5002224c3898 100644 (file)
@@ -59,15 +59,15 @@ enum BuiltinEffectiveStatement implements TypeEffectiveStatement<TypeStatement>
     }
 
     @Override
-    public final <K, V, N extends IdentifierNamespace<K, V>> Optional<? extends V> get(final Class<N> namespace,
+    public final <K, V, N extends IdentifierNamespace<K, V>> Optional<V> get(final Class<N> namespace,
             final K identifier) {
-        // FIXME: 7.0.0: implement this
+        // FIXME: 8.0.0: implement this
         return Optional.empty();
     }
 
     @Override
     public final <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
-        // FIXME: 7.0.0: implement this
+        // FIXME: 8.0.0: implement this
         return ImmutableMap.of();
     }