Deprecate AddedByUsesAware for removal
[yangtools.git] / model / yang-model-spi / src / main / java / org / opendaylight / yangtools / yang / model / spi / meta / EffectiveStatementMixins.java
index 2a613de087ec309cbae72b5f2c718e1c612302fc..80cffe88789c76183663c82f187e4b29b0c30ca2 100644 (file)
@@ -8,7 +8,6 @@
 package org.opendaylight.yangtools.yang.model.spi.meta;
 
 import com.google.common.annotations.Beta;
-import com.google.common.base.MoreObjects;
 import com.google.common.base.Strings;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.ImmutableSet;
@@ -30,7 +29,6 @@ import org.opendaylight.yangtools.yang.model.api.ContainerLike;
 import org.opendaylight.yangtools.yang.model.api.CopyableNode;
 import org.opendaylight.yangtools.yang.model.api.DataNodeContainer;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.DocumentedNode;
 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
 import org.opendaylight.yangtools.yang.model.api.InputSchemaNode;
@@ -55,10 +53,8 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageEffectiveState
 import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.WhenEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
 import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
 
 /**
@@ -97,11 +93,11 @@ public final class EffectiveStatementMixins {
      * @param <D> Class representing declared version of this statement.
      * @deprecated See deprecation notice in {@link AddedByUsesAware}
      */
-    @Deprecated(since = "7.0.9")
+    @Deprecated(since = "7.0.9", forRemoval = true)
     public interface AddedByUsesMixin<A, D extends DeclaredStatement<A>>
             extends EffectiveStatementWithFlags<A, D>, AddedByUsesAware {
         @Override
-        @Deprecated(since = "7.0.9")
+        @Deprecated(since = "7.0.9", forRemoval = true)
         default boolean isAddedByUses() {
             return (flags() & FlagsBuilder.ADDED_BY_USES) != 0;
         }
@@ -391,10 +387,6 @@ public final class EffectiveStatementMixins {
         default Optional<Boolean> effectiveConfig() {
             return Optional.empty();
         }
-
-        default String defaultToString() {
-            return MoreObjects.toStringHelper(this).add("qname", getQName()).toString();
-        }
     }
 
     /**
@@ -402,9 +394,9 @@ public final class EffectiveStatementMixins {
      *
      * @param <D> Class representing declared version of this statement.
      */
-    public interface OpaqueDataSchemaNodeMixin<D extends DeclaredStatement<QName>, S extends DerivableSchemaNode<S>>
-            extends DerivableSchemaNode<S>, DataSchemaNodeMixin<D>, DocumentedNodeMixin.WithStatus<QName, D>,
-                    MandatoryMixin<QName, D>, MustConstraintMixin<QName, D>, WhenConditionMixin<QName, D> {
+    public interface OpaqueDataSchemaNodeMixin<D extends DeclaredStatement<QName>>
+            extends DataSchemaNodeMixin<D>, DocumentedNodeMixin.WithStatus<QName, D>, MandatoryMixin<QName, D>,
+                    MustConstraintMixin<QName, D>, WhenConditionMixin<QName, D> {
         @Override
         default QName getQName() {
             return argument();
@@ -465,7 +457,7 @@ public final class EffectiveStatementMixins {
             static final int MANDATORY            = 0x0004;
 
             static final int AUGMENTING           = 0x0010;
-            @Deprecated(since = "7.0.9")
+            @Deprecated(since = "7.0.9", forRemoval = true)
             static final int ADDED_BY_USES        = 0x0020;
             private static final int MASK_HISTORY = 0x0030;
 
@@ -550,6 +542,7 @@ public final class EffectiveStatementMixins {
     }
 
     private EffectiveStatementMixins() {
+        // Hidden on purpose
     }
 
     static <T extends ContainerLike> T findAsContainer(final EffectiveStatement<?, ?> stmt,
@@ -561,16 +554,4 @@ public final class EffectiveStatementMixins {
         return Collections2.transform(stmt.filterEffectiveStatements(TypedefEffectiveStatement.class),
             TypedefEffectiveStatement::getTypeDefinition);
     }
-
-    public static int historyAndStatusFlags(final CopyableNode history,
-            final Collection<? extends EffectiveStatement<?, ?>> substatements) {
-        return new FlagsBuilder()
-                .setHistory(history)
-                .setStatus(substatements.stream()
-                    .filter(StatusEffectiveStatement.class::isInstance)
-                    .findAny()
-                    .map(stmt -> ((StatusEffectiveStatement) stmt).argument())
-                    .orElse(Status.CURRENT))
-                .toFlags();
-    }
 }