import static java.util.Objects.requireNonNull;
-import java.lang.reflect.Method;
import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.concepts.Codec;
+import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
*/
abstract class ValueNodeCodecContext extends NodeCodecContext implements NodeContextSupplier {
abstract static class WithCodec extends ValueNodeCodecContext {
- private final @NonNull Codec<Object, Object> valueCodec;
+ private final @NonNull IllegalArgumentCodec<Object, Object> valueCodec;
- WithCodec(final DataSchemaNode schema, final Codec<Object, Object> codec, final Method getter,
- final Object defaultObject) {
- super(schema, getter, defaultObject);
+ WithCodec(final DataSchemaNode schema, final IllegalArgumentCodec<Object, Object> codec,
+ final String getterName, final Object defaultObject) {
+ super(schema, getterName, defaultObject);
this.valueCodec = requireNonNull(codec);
}
@Override
- final Codec<Object, Object> getValueCodec() {
+ final IllegalArgumentCodec<Object, Object> getValueCodec() {
return valueCodec;
}
}
private final @NonNull NodeIdentifier yangIdentifier;
- private final @NonNull Method getter;
+ private final @NonNull String getterName;
private final @NonNull DataSchemaNode schema;
private final Object defaultObject;
- ValueNodeCodecContext(final DataSchemaNode schema, final Method getter, final Object defaultObject) {
+ ValueNodeCodecContext(final DataSchemaNode schema, final String getterName, final Object defaultObject) {
this.yangIdentifier = NodeIdentifier.create(schema.getQName());
- this.getter = requireNonNull(getter);
+ this.getterName = requireNonNull(getterName);
this.schema = requireNonNull(schema);
this.defaultObject = defaultObject;
}
return this;
}
- final Method getGetter() {
- return getter;
+ final String getGetterName() {
+ return getterName;
}
- abstract Codec<Object, Object> getValueCodec();
+ abstract IllegalArgumentCodec<Object, Object> getValueCodec();
@Override
public final DataSchemaNode getSchema() {