Fix implementation nullness guarantees
[yangtools.git] / yang / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / OperationAsContainer.java
index f58816c212854d6d05d14f417cc36a110701642f..33b182c34ecd4f4d4b5bc476af7af6aafad73eea 100644 (file)
@@ -16,25 +16,26 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Optional;
-import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ActionDefinition;
 import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode;
-import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode;
+import org.opendaylight.yangtools.yang.model.api.ContainerLike;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
+import org.opendaylight.yangtools.yang.model.api.InputSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.MustDefinition;
 import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
 import org.opendaylight.yangtools.yang.model.api.OperationDefinition;
-import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
+import org.opendaylight.yangtools.yang.model.api.OutputSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.UsesNode;
+import org.opendaylight.yangtools.yang.xpath.api.YangXPathExpression.QualifiedBound;
 
 @Beta
-public class OperationAsContainer extends ForwardingObject implements ContainerSchemaNode, OperationDefinition {
+public class OperationAsContainer extends ForwardingObject implements ContainerLike, OperationDefinition {
     private final @NonNull OperationDefinition delegate;
 
     OperationAsContainer(final OperationDefinition parentNode) {
@@ -61,12 +62,12 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
-    public final Set<TypeDefinition<?>> getTypeDefinitions() {
+    public final Collection<? extends @NonNull TypeDefinition<?>> getTypeDefinitions() {
         return delegate.getTypeDefinitions();
     }
 
     @Override
-    public final Set<GroupingDefinition> getGroupings() {
+    public final Collection<? extends @NonNull GroupingDefinition> getGroupings() {
         return delegate.getGroupings();
     }
 
@@ -76,12 +77,12 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
-    public final ContainerSchemaNode getInput() {
+    public final InputSchemaNode getInput() {
         return delegate.getInput();
     }
 
     @Override
-    public final ContainerSchemaNode getOutput() {
+    public final OutputSchemaNode getOutput() {
         return delegate.getOutput();
     }
 
@@ -91,6 +92,7 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
+    @Deprecated
     public final SchemaPath getPath() {
         return delegate.getPath();
     }
@@ -112,28 +114,23 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
-    public Set<UsesNode> getUses() {
+    public Collection<? extends UsesNode> getUses() {
         return ImmutableSet.of();
     }
 
     @Override
-    public final Set<AugmentationSchemaNode> getAvailableAugmentations() {
+    public final Collection<? extends AugmentationSchemaNode> getAvailableAugmentations() {
         return ImmutableSet.of();
     }
 
     @Override
-    public final boolean isPresenceContainer() {
-        return false;
-    }
-
-    @Override
-    public final Collection<DataSchemaNode> getChildNodes() {
+    public final Collection<? extends DataSchemaNode> getChildNodes() {
         final List<DataSchemaNode> ret = new ArrayList<>();
-        final ContainerSchemaNode input = getInput();
-        final ContainerSchemaNode output = getOutput();
+        final InputSchemaNode input = getInput();
         if (input != null) {
             ret.add(input);
         }
+        final OutputSchemaNode output = getOutput();
         if (output != null) {
             ret.add(output);
         }
@@ -153,12 +150,12 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
-    public final boolean isConfiguration() {
-        return false;
+    public final Optional<Boolean> effectiveConfig() {
+        return Optional.empty();
     }
 
     @Override
-    public final Set<ActionDefinition> getActions() {
+    public final Collection<? extends ActionDefinition> getActions() {
         return ImmutableSet.of();
     }
 
@@ -169,7 +166,7 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
-    public final Set<NotificationDefinition> getNotifications() {
+    public final Collection<? extends NotificationDefinition> getNotifications() {
         return ImmutableSet.of();
     }
 
@@ -180,12 +177,12 @@ public class OperationAsContainer extends ForwardingObject implements ContainerS
     }
 
     @Override
-    public final Collection<MustDefinition> getMustConstraints() {
+    public final Collection<? extends @NonNull MustDefinition> getMustConstraints() {
         return ImmutableSet.of();
     }
 
     @Override
-    public final Optional<RevisionAwareXPath> getWhenCondition() {
+    public final Optional<? extends QualifiedBound> getWhenCondition() {
         return Optional.empty();
     }
 }