Deprecate UnknownSchemaNode.getExtensionDefinition() 08/97408/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Sep 2021 22:34:25 +0000 (00:34 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 6 Sep 2021 22:36:21 +0000 (00:36 +0200)
This method is not really useful, as its equivalent can easily be
achieved via SchemaContext lookup. Deprecate it for removal.

JIRA: YANGTOOLS-1319
Change-Id: Ia8f04e4843438988c999d966b72cb078b3f905e3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/UnknownEffectiveStatementBase.java

index ca7d143567396fca2385daba9cf48ba273341638..192fdc4938be80abd1618136554409de5c74c2f3 100644 (file)
@@ -16,7 +16,8 @@ import org.opendaylight.yangtools.yang.model.api.stmt.UnknownEffectiveStatement;
 public interface UnknownSchemaNode extends SchemaNode, CopyableNode,
         EffectiveStatementEquivalent<UnknownEffectiveStatement<?, ?>> {
     /**
-     * Returns QName instance with the name of the unknown node.
+     * Returns QName instance with the name of the unknown node. This corresponds to
+     * {@link ExtensionDefinition#getQName()} of the {@code extension} statement which defined it.
      *
      * @return QName with name the name of the unknown node.
      */
@@ -33,6 +34,10 @@ public interface UnknownSchemaNode extends SchemaNode, CopyableNode,
      * Get extension definition which identifies this node.
      *
      * @return extension definition if exists, null otherwise
+     * @deprecated This method is can cause cyclic dependencies in the object graph. Use
+     *             {@link SchemaContext#getExtensions()} with {@link #getNodeType()} instead.
      */
+    // FIXME: YANGTOOLS-1317: remove this method
+    @Deprecated(forRemoval = true, since = "7.0.8")
     ExtensionDefinition getExtensionDefinition();
 }
index f08f2ceb12215272187e81ddbd4881d5d755dce1..3382af12250e8073ceba6abc3a0e6d7e6f96ce83 100644 (file)
@@ -82,6 +82,7 @@ public abstract class UnknownEffectiveStatementBase<A, D extends UnknownStatemen
         return addedByUses;
     }
 
+    @Deprecated
     @Override
     public ExtensionDefinition getExtensionDefinition() {
         return extension;