*/
package org.opendaylight.mdsal.binding.dom.codec.impl;
-import com.google.common.base.Preconditions;
+import static java.util.Objects.requireNonNull;
+
import com.google.common.base.Throwables;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
-import org.opendaylight.yangtools.concepts.Codec;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger LOG = LoggerFactory.getLogger(UnionValueOptionContext.class);
private final Class<?> bindingType;
- private final Codec<Object,Object> codec;
+ private final ValueCodec<Object,Object> codec;
private final MethodHandle getter;
private final MethodHandle unionCtor;
UnionValueOptionContext(final Class<?> unionType, final Class<?> valueType, final Method getter,
- final Codec<Object, Object> codec) {
- this.bindingType = Preconditions.checkNotNull(valueType);
- this.codec = Preconditions.checkNotNull(codec);
+ final ValueCodec<Object, Object> codec) {
+ bindingType = requireNonNull(valueType);
+ this.codec = requireNonNull(codec);
try {
this.getter = MethodHandles.publicLookup().unreflect(getter).asType(OBJECT_TYPE);
}
try {
- this.unionCtor = MethodHandles.publicLookup().findConstructor(unionType,
+ unionCtor = MethodHandles.publicLookup().findConstructor(unionType,
MethodType.methodType(void.class, valueType)).asType(OBJECT_TYPE);
} catch (IllegalAccessException | NoSuchMethodException e) {
throw new IllegalStateException(String.format("Failed to access constructor for %s in type %s", valueType,
return getter.invokeExact(input);
} catch (Throwable e) {
Throwables.throwIfUnchecked(e);
- throw new RuntimeException(e);
+ throw new IllegalStateException(e);
}
}
if (this == obj) {
return true;
}
- if (!(obj instanceof UnionValueOptionContext)) {
+ if (!(obj instanceof UnionValueOptionContext other)) {
return false;
}
- final UnionValueOptionContext other = (UnionValueOptionContext) obj;
return bindingType.equals(other.bindingType);
}
}