Rework NormalizedNode type hierarchy
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / builder / api / DataContainerNodeBuilder.java
index 9adf6c60f8cb5ef2c491cc6379836b08a8a97eb2..03a3d14e94c3ed6c0b82c5e05aaea336ac7b3b95 100644 (file)
@@ -7,21 +7,21 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.builder.api;
 
-import java.util.List;
-
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument;
+import java.util.Collection;
+import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode;
 
-public interface DataContainerNodeBuilder<I extends InstanceIdentifier.PathArgument, R extends DataContainerNode<I>>
-        extends NormalizedNodeContainerBuilder<I, PathArgument, DataContainerChild<? extends PathArgument, ?>, R> {
-
+public interface DataContainerNodeBuilder<I extends PathArgument, R extends DataContainerNode<I>>
+        extends NormalizedNodeContainerBuilder<I, PathArgument, DataContainerChild, R> {
     @Override
-    DataContainerNodeBuilder<I, R> withValue(List<DataContainerChild<? extends InstanceIdentifier.PathArgument, ?>> value);
+    DataContainerNodeBuilder<I, R> withValue(Collection<DataContainerChild> value);
 
     @Override
     DataContainerNodeBuilder<I, R> withNodeIdentifier(I nodeIdentifier);
 
-    DataContainerNodeBuilder<I, R> withChild(DataContainerChild<?, ?> child);
-}
+    @NonNull DataContainerNodeBuilder<I, R> withChild(DataContainerChild child);
+
+    @NonNull DataContainerNodeBuilder<I, R> withoutChild(PathArgument key);
+}
\ No newline at end of file