*/
package org.opendaylight.yangtools.yang.data.util;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
-class UnkeyedListMixinContextNode extends AbstractMixinContextNode<NodeIdentifier> {
-
+final class UnkeyedListMixinContextNode extends AbstractMixinContextNode<NodeIdentifier> {
private final UnkeyedListItemContextNode innerNode;
UnkeyedListMixinContextNode(final ListSchemaNode list) {
super(NodeIdentifier.create(list.getQName()), list);
- this.innerNode = new UnkeyedListItemContextNode(list);
+ innerNode = new UnkeyedListItemContextNode(list);
}
@Override
public DataSchemaContextNode<?> getChild(final PathArgument child) {
- if (child.getNodeType().equals(getIdentifier().getNodeType())) {
- return innerNode;
- }
- return null;
+ // FIXME: 10.0.0: checkArgument() on PathArgument
+ return innerNodeIfMatch(child.getNodeType());
}
@Override
public DataSchemaContextNode<?> getChild(final QName child) {
- if (getIdentifier().getNodeType().equals(child)) {
- return innerNode;
- }
- return null;
+ return innerNodeIfMatch(child);
}
+ // FIXME: dead ringers in other AbstractMixinContextNode subclasses
+ private @Nullable DataSchemaContextNode<?> innerNodeIfMatch(final QName qname) {
+ // FIXME: 10.0.0: requireNonNull(qname)
+ return getIdentifier().getNodeType().equals(qname) ? innerNode : null;
+ }
}