Add DataSchemaContextNode/SchemaInferenceStack integration
[yangtools.git] / data / yang-data-util / src / main / java / org / opendaylight / yangtools / yang / data / util / UnorderedLeafListMixinContextNode.java
index c6907f31c1756f0eacffb0a9612eac754a1dbc7c..538a76f65b0459588d56c96b61f8baad970d3f8d 100644 (file)
@@ -13,28 +13,23 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithV
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode;
 
-class UnorderedLeafListMixinContextNode extends AbstractMixinContextNode<NodeIdentifier> {
+class UnorderedLeafListMixinContextNode extends AbstractListLikeContextNode<NodeIdentifier> {
+    private final LeafListEntryContextNode innerOp;
 
-    private final DataSchemaContextNode<?> innerOp;
-
-    UnorderedLeafListMixinContextNode(final LeafListSchemaNode potential) {
-        super(NodeIdentifier.create(potential.getQName()), potential);
-        innerOp = new LeafListEntryContextNode(potential);
+    UnorderedLeafListMixinContextNode(final LeafListSchemaNode schema) {
+        super(NodeIdentifier.create(schema.getQName()), schema);
+        innerOp = new LeafListEntryContextNode(schema);
     }
 
     @Override
-    public DataSchemaContextNode<?> getChild(final PathArgument child) {
-        if (child instanceof NodeWithValue) {
-            return innerOp;
-        }
-        return null;
+    public final DataSchemaContextNode<?> getChild(final PathArgument child) {
+        // FIXME: 10.0.0: reject null and invalid
+        return child instanceof NodeWithValue ? innerOp : null;
     }
 
     @Override
-    public DataSchemaContextNode<?> getChild(final QName child) {
-        if (getIdentifier().getNodeType().equals(child)) {
-            return innerOp;
-        }
-        return null;
+    public final DataSchemaContextNode<?> getChild(final QName child) {
+        // FIXME: requireNonNull, common code with UnkeyedListMixinNode
+        return getIdentifier().getNodeType().equals(child) ? innerOp : null;
     }
 }