Class that defines simple API implemented by objects that create value instances. Some or all of properties of value instances may be initialized by instantiator, rest being populated by deserializer, to which value instance is passed. Since different kinds of JSON values (structured and scalar) may be bound to Java values, in some cases instantiator fully defines resulting value; this is the case when JSON value is a scalar value (String, number, boolean).
Note that this type is not parameterized (even though it would seemingly make sense), because such type information can not be use effectively during runtime: access is always using either wildcard type, or just basic {@link java.lang.Object}; and so adding type parameter seems like unnecessary extra work.
Actual implementations are strongly recommended to be based on {@link org.codehaus.jackson.map.deser.std.StdValueInstantiator}which implements all methods, and as such will be compatible across versions even if new methods were added to this interface.
@since 1.9