From 6ef34cdb423c09ea2a72a46606f2265f3fd7be11 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 16 Feb 2022 09:42:06 +0100 Subject: [PATCH] Improve YangNames annotations a bit We guarantee a @NonNull return and have a well-defined behaviour on null arguments. Change-Id: I42532863520529c07b026176acf05c8000626f48 Signed-off-by: Robert Varga --- .../opendaylight/yangtools/yang/common/YangNames.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangNames.java b/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangNames.java index c7eda8ba67..783e2d1b21 100644 --- a/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangNames.java +++ b/common/yang-common/src/main/java/org/opendaylight/yangtools/yang/common/YangNames.java @@ -11,7 +11,7 @@ import com.google.common.annotations.Beta; import com.google.common.base.CharMatcher; import java.util.AbstractMap.SimpleEntry; import java.util.Map.Entry; -import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; /** @@ -20,19 +20,18 @@ import org.eclipse.jdt.annotation.Nullable; * @author Robert Varga */ @Beta -@NonNullByDefault public final class YangNames { /** * A {@link CharMatcher} matching the first character of a YANG {@code identifier} ABNF production, * {@code (ALPHA / "_")}. */ - public static final CharMatcher IDENTIFIER_START = + public static final @NonNull CharMatcher IDENTIFIER_START = CharMatcher.inRange('A', 'Z').or(CharMatcher.inRange('a', 'z').or(CharMatcher.is('_'))).precomputed(); /** * A {@link CharMatcher} NOT matching second and later characters of a YANG {@code identifier} ABNF production, * {@code (ALPHA / DIGIT / "_" / "-" / ".")}. */ - public static final CharMatcher NOT_IDENTIFIER_PART = + public static final @NonNull CharMatcher NOT_IDENTIFIER_PART = IDENTIFIER_START.or(CharMatcher.inRange('0', '9')).or(CharMatcher.anyOf("-.")).negate().precomputed(); private YangNames() { @@ -47,7 +46,7 @@ public final class YangNames { * @return A tuple containing the module name and parsed revision, if present. * @throws NullPointerException if {@code baseName} is null */ - public static Entry parseFilename(final String baseName) { + public static @NonNull Entry<@NonNull String, @Nullable String> parseFilename(final String baseName) { final int zavinac = baseName.lastIndexOf('@'); if (zavinac < 0) { return new SimpleEntry<>(baseName, null); -- 2.36.6