Promote ArgumentDefinition 89/102889/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 26 Oct 2022 12:19:29 +0000 (14:19 +0200)
committerRobert Varga <nite@hq.sk>
Wed, 26 Oct 2022 12:49:51 +0000 (12:49 +0000)
This construct is suitably stable for normal use, remove @Beta
declaration.

Change-Id: Id865e1a6ffafdd82479e5fb9cf811e443c5f3552
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/meta/ArgumentDefinition.java
model/yang-model-export/src/main/java/org/opendaylight/yangtools/yang/model/export/YinXMLEventReader.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/repo/YinStatementStreamSource.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/extension/UnrecognizedStatementSupport.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/ExtensionStmtTest.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StatementSupport.java
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/YinDomSchemaSource.java

index 288e68935827b2744f7413382d483d57578d9d50..4c5d9d7217463617e42bfb7d2373d82c545ed39a 100644 (file)
@@ -9,7 +9,6 @@ package org.opendaylight.yangtools.yang.model.api.meta;
 
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.annotations.Beta;
 import com.google.common.base.MoreObjects;
 import java.util.Optional;
 import org.eclipse.jdt.annotation.NonNull;
@@ -17,7 +16,9 @@ import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.common.QName;
 
-@Beta
+/**
+ * Definition of an argument to a YANG statement.
+ */
 public abstract sealed class ArgumentDefinition implements Immutable {
     private static final class YinAttribute extends ArgumentDefinition {
         YinAttribute(final QName argumentName) {
@@ -56,7 +57,7 @@ public abstract sealed class ArgumentDefinition implements Immutable {
         return argumentName == null ? Optional.empty() : Optional.of(of(argumentName, yinElement));
     }
 
-    public final @NonNull QName getArgumentName() {
+    public final @NonNull QName argumentName() {
         return argumentName;
     }
 
@@ -75,19 +76,15 @@ public abstract sealed class ArgumentDefinition implements Immutable {
 
     @Override
     public final boolean equals(final Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof ArgumentDefinition)) {
-            return false;
-        }
-        final ArgumentDefinition other = (ArgumentDefinition) obj;
-        return isYinElement() == other.isYinElement() && argumentName.equals(other.argumentName);
+        return this == obj || obj instanceof ArgumentDefinition other && isYinElement() == other.isYinElement()
+            && argumentName.equals(other.argumentName);
     }
 
     @Override
     public final String toString() {
-        return MoreObjects.toStringHelper(ArgumentDefinition.class).add("argumentName", argumentName)
-                .add("yinElement", isYinElement()).toString();
+        return MoreObjects.toStringHelper(ArgumentDefinition.class)
+            .add("argumentName", argumentName)
+            .add("yinElement", isYinElement())
+            .toString();
     }
 }
index 0e9dab48e72d3e511b660a2a2dedb65fbab07c58..81995285dfb0709fe810d7a4bbed3d86b99beaaf 100644 (file)
@@ -58,7 +58,7 @@ final class YinXMLEventReader implements XMLEventReader {
         final ArgumentDefinition arg = def.getArgumentDefinition().get();
 
         events.add(eventFactory.createStartElement(XMLConstants.DEFAULT_NS_PREFIX, name.getNamespace().toString(),
-            name.getLocalName(), singletonIterator(attribute(arg.getArgumentName(), root.rawArgument())),
+            name.getLocalName(), singletonIterator(attribute(arg.argumentName(), root.rawArgument())),
             transform(namespaceContext.prefixesAndNamespaces().entrySet().iterator(),
                 e -> eventFactory.createNamespace(e.getKey(), e.getValue())),
             namespaceContext));
@@ -191,7 +191,7 @@ final class YinXMLEventReader implements XMLEventReader {
         final var optArgDef = def.getArgumentDefinition();
         if (optArgDef.isPresent()) {
             final var argDef = optArgDef.orElseThrow();
-            final var argName = argDef.getArgumentName();
+            final var argName = argDef.argumentName();
             if (argDef.isYinElement()) {
                 events.addAll(Arrays.asList(startElement(name), startElement(argName),
                     eventFactory.createCharacters(statement.rawArgument()), endElement(argName)));
index 6d04e50fcb99924ee435b8ff7710ba2051e95063..72e193986c7be086dce01edf55c5d3888a0301da 100644 (file)
@@ -144,7 +144,7 @@ public final class YinStatementStreamSource extends AbstractSimpleIdentifiable<S
             final Optional<ArgumentDefinition> optArgDef = def.getArgumentDefinition();
             if (optArgDef.isPresent()) {
                 final ArgumentDefinition argDef = optArgDef.get();
-                argName = argDef.getArgumentName();
+                argName = argDef.argumentName();
                 allAttrs = argDef.isYinElement();
                 allElements = !allAttrs;
             } else {
@@ -164,7 +164,7 @@ public final class YinStatementStreamSource extends AbstractSimpleIdentifiable<S
             final Optional<ArgumentDefinition> optArgDef = def.getArgumentDefinition();
             if (optArgDef.isPresent()) {
                 final ArgumentDefinition argDef = optArgDef.get();
-                argName = argDef.getArgumentName();
+                argName = argDef.argumentName();
                 allAttrs = argDef.isYinElement();
                 allElements = !allAttrs;
 
index b741dd9287f9c0dd8e7931809a8b2644b7a530d5..6b97599fffb4713fb0030d7a016eba483483ee0c 100644 (file)
@@ -59,7 +59,7 @@ final class UnrecognizedStatementSupport
         final Optional<ArgumentDefinition> optArgDef = childDef.getArgumentDefinition();
         if (optArgDef.isPresent()) {
             final ArgumentDefinition argDef = optArgDef.orElseThrow();
-            def = new ModelDefinedStatementDefinition(statementName, argDef.getArgumentName(), argDef.isYinElement());
+            def = new ModelDefinedStatementDefinition(statementName, argDef.argumentName(), argDef.isYinElement());
         } else {
             def = new ModelDefinedStatementDefinition(statementName);
         }
@@ -91,4 +91,4 @@ final class UnrecognizedStatementSupport
         throw new InferenceException(stmt, "Attempted to instantiate unrecognized effective statement %s",
             stmt.publicDefinition());
     }
-}
\ No newline at end of file
+}
index 1b1361ea0a178d1c22effe495da1ba276f7eba37..98d358ebc79367a9c8f007351217317698f6a33c 100644 (file)
@@ -71,7 +71,7 @@ public class ExtensionStmtTest {
         final UnrecognizedStatement extensionUse = unknownNodes.iterator().next();
         assertEquals(extensionDefinition.getQName(), extensionUse.statementDefinition().getStatementName());
         assertEquals(extensionDefinition.getArgument(), extensionUse.statementDefinition().getArgumentDefinition()
-            .orElseThrow().getArgumentName().getLocalName());
+            .orElseThrow().argumentName().getLocalName());
 
         assertEquals("key:value", extensionUse.argument());
     }
index dc735bd0cb9c5594faace265835d8ad92f327fbc..633528ea345ae68a7a463cb7b1e340208b308d61 100644 (file)
@@ -459,7 +459,7 @@ public abstract class StatementSupport<A, D extends DeclaredStatement<A>, E exte
     }
 
     public final @Nullable QName argumentName() {
-        return publicDefinition.getArgumentDefinition().map(ArgumentDefinition::getArgumentName).orElse(null);
+        return publicDefinition.getArgumentDefinition().map(ArgumentDefinition::argumentName).orElse(null);
     }
 
     public final @NonNull Optional<ArgumentDefinition> getArgumentDefinition() {
index 07927943273362abf753809b17f9ad6c6801672c..023aaf04580dad5829dda73440d5ba602b2be9df 100644 (file)
@@ -40,8 +40,10 @@ public abstract class YinDomSchemaSource implements YinXmlSchemaSource {
     private static final Logger LOG = LoggerFactory.getLogger(YinDomSchemaSource.class);
     private static final TransformerFactory TRANSFORMER_FACTORY = TransformerFactory.newInstance();
     private static final QName REVISION_STMT = REVISION.getStatementName();
-    private static final String MODULE_ARG = MODULE.getArgumentDefinition().get().getArgumentName().getLocalName();
-    private static final String REVISION_ARG = REVISION.getArgumentDefinition().get().getArgumentName().getLocalName();
+    private static final String MODULE_ARG = MODULE.getArgumentDefinition().orElseThrow()
+        .argumentName().getLocalName();
+    private static final String REVISION_ARG = REVISION.getArgumentDefinition().orElseThrow()
+        .argumentName().getLocalName();
 
     YinDomSchemaSource() {
         // Prevent outside instantiation