From: Robert Varga Date: Wed, 8 Sep 2021 09:29:05 +0000 (+0200) Subject: Make EffectiveStatement.get() more friendly X-Git-Tag: v8.0.0~243 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=04b051c15469a4d63caf3002c0d25b37a2263d1b;p=yangtools.git Make EffectiveStatement.get() more friendly Return Optional instead of a ? extends V. Change-Id: Ia8570d796ae33d2d91396d621cb7dac7ca122049 Signed-off-by: Robert Varga --- diff --git a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/EffectiveStatement.java b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/EffectiveStatement.java index fe8d8b2522..80ae61b961 100644 --- a/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/EffectiveStatement.java +++ b/model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/EffectiveStatement.java @@ -42,9 +42,8 @@ public interface EffectiveStatement> extends M * @param identifier Identifier of element. * @return Value if present */ - //> V - > Optional get(@NonNull Class namespace, - @NonNull K identifier); + > @NonNull Optional get(@NonNull Class namespace, + @NonNull K identifier); /** * Returns all local values from supplied namespace. diff --git a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java index b8957b3acc..fffda854ed 100644 --- a/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java +++ b/model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/stmt/impl/eff/TypedefEffectiveStatementImpl.java @@ -129,7 +129,7 @@ public final class TypedefEffectiveStatementImpl extends WithSubstatements> Optional get(final Class namespace, + public > Optional get(final Class namespace, final K identifier) { return TypedefEffectiveStatementImpl.this.get(namespace, identifier); } diff --git a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveStatement.java b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveStatement.java index 9aa1c80304..21c5c69da9 100644 --- a/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveStatement.java +++ b/model/yang-model-spi/src/main/java/org/opendaylight/yangtools/yang/model/spi/meta/AbstractEffectiveStatement.java @@ -43,7 +43,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement; abstract class AbstractEffectiveStatement> extends AbstractModelStatement implements EffectiveStatement { @Override - public final > Optional get(final Class namespace, + public final > Optional get(final Class namespace, final K identifier) { return Optional.ofNullable(getAll(namespace).get(requireNonNull(identifier))); } diff --git a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BuiltinEffectiveStatement.java b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BuiltinEffectiveStatement.java index 3cb3911c86..1b2d135888 100644 --- a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BuiltinEffectiveStatement.java +++ b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/type/BuiltinEffectiveStatement.java @@ -59,15 +59,15 @@ enum BuiltinEffectiveStatement implements TypeEffectiveStatement } @Override - public final > Optional get(final Class namespace, + public final > Optional get(final Class namespace, final K identifier) { - // FIXME: 7.0.0: implement this + // FIXME: 8.0.0: implement this return Optional.empty(); } @Override public final > Map getAll(final Class namespace) { - // FIXME: 7.0.0: implement this + // FIXME: 8.0.0: implement this return ImmutableMap.of(); }