import java.lang.reflect.Method;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
import org.eclipse.jdt.annotation.NonNull;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.Identifiable;
}
@Override
- Map<?, D> fromMap(final MapNode nodes) {
- final Collection<MapEntryNode> value = nodes.getValue();
- final Builder<Object, D> builder = ImmutableMap.builderWithExpectedSize(value.size());
+ Object fromMap(final MapNode map, final Collection<MapEntryNode> value) {
// FIXME: Could be this lazy transformed map?
+ final Builder<Object, D> builder = ImmutableMap.builderWithExpectedSize(value.size());
for (MapEntryNode node : value) {
final D entry = fromMapEntry(node);
builder.put(getKey(entry), entry);
}
}
- Object fromMap(final MapNode nodes) {
- final Collection<MapEntryNode> value = nodes.getValue();
- final Builder<D> builder = ImmutableList.builderWithExpectedSize(value.size());
+ private Object fromMap(final MapNode map) {
+ final Collection<MapEntryNode> value = map.getValue();
+ // This should never happen, but we do need to ensure users never see an empty Map
+ return value.isEmpty() ? null : fromMap(map, value);
+ }
+
+ Object fromMap(final MapNode map, final Collection<MapEntryNode> value) {
// FIXME: Could be this lazy transformed list?
+ final Builder<D> builder = ImmutableList.builderWithExpectedSize(value.size());
for (MapEntryNode node : value) {
builder.add(createBindingProxy(node));
}
private List<D> fromUnkeyedList(final UnkeyedListNode nodes) {
final Collection<UnkeyedListEntryNode> value = nodes.getValue();
+ if (value.isEmpty()) {
+ // This should never happen, but we do need to ensure users never see an empty List
+ return null;
+ }
+
// FIXME: Could be this lazy transformed list?
final Builder<D> builder = ImmutableList.builderWithExpectedSize(value.size());
for (UnkeyedListEntryNode node : value) {