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 fd33b498df6a3d07b4b2e83f9a88dcc9ee1bf3c3..03a3d14e94c3ed6c0b82c5e05aaea336ac7b3b95 100644 (file)
@@ -8,20 +8,20 @@
 package org.opendaylight.yangtools.yang.data.impl.schema.builder.api;
 
 import java.util.Collection;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
+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 YangInstanceIdentifier.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(Collection<DataContainerChild<? extends YangInstanceIdentifier.PathArgument, ?>> value);
+    DataContainerNodeBuilder<I, R> withValue(Collection<DataContainerChild> value);
 
     @Override
     DataContainerNodeBuilder<I, R> withNodeIdentifier(I nodeIdentifier);
 
-    DataContainerNodeBuilder<I, R> withChild(DataContainerChild<?, ?> child);
-    DataContainerNodeBuilder<I, R> withoutChild(PathArgument key);
+    @NonNull DataContainerNodeBuilder<I, R> withChild(DataContainerChild child);
+
+    @NonNull DataContainerNodeBuilder<I, R> withoutChild(PathArgument key);
 }
\ No newline at end of file