com.groupbyinc.common.jackson.databind.util.ConstantValueInstantiator Maven / Gradle / Ivy
package com.fasterxml.jackson.databind.util;
import java.io.IOException;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.ValueInstantiator;
/**
* Trivial {@link ValueInstantiator} implementation that will simply return constant
* {@code Object} it is configured with. May be used as-is, or as base class to override
* simplistic behavior further.
*
* @since 2.9.4
*/
public class ConstantValueInstantiator extends ValueInstantiator
{
protected final Object _value;
public ConstantValueInstantiator(Object value) {
_value = value;
}
@Override
public Class> getValueClass() {
return _value.getClass();
}
@Override // yes, since default ctor works
public boolean canInstantiate() { return true; }
@Override
public boolean canCreateUsingDefault() { return true; }
@Override
public Object createUsingDefault(DeserializationContext ctxt) throws IOException {
return _value;
}
}