Bug 1443: Fixed incorrect throw of IllegalArgumentException in getAugmentation
[yangtools.git] / code-generator / binding-data-codec / src / main / java / org / opendaylight / yangtools / binding / data / codec / impl / DataObjectCodecContext.java
index 321f8ded5b5acaa573fc3cd1c5cf0612692efca4..32fdf6d80ea597da1c4ec000bcecb880c9564564 100644 (file)
@@ -10,14 +10,12 @@ package org.opendaylight.yangtools.binding.data.codec.impl;
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
-
 import java.lang.reflect.Method;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
-
 import org.opendaylight.yangtools.sal.binding.generator.api.ClassLoadingStrategy;
 import org.opendaylight.yangtools.sal.binding.model.api.Type;
 import org.opendaylight.yangtools.yang.binding.Augmentable;
@@ -113,6 +111,15 @@ abstract class DataObjectCodecContext<T extends DataNodeContainer> extends DataC
         return childProto.get();
     }
 
+    @Override
+    protected Optional<DataContainerCodecContext<?>> getPossibleStreamChild(final Class<?> childClass) {
+        DataContainerCodecPrototype<?> childProto = byStreamClass.get(childClass);
+        if(childProto != null) {
+            return Optional.<DataContainerCodecContext<?>>of(childProto.get());
+        }
+        return Optional.absent();
+    }
+
     @Override
     protected DataContainerCodecContext<?> getIdentifierChild(final InstanceIdentifier.PathArgument arg,
             final List<YangInstanceIdentifier.PathArgument> builder) {