类com.fasterxml.jackson.databind.deser.NullValueProvider源码实例Demo

下面列出了怎么用com.fasterxml.jackson.databind.deser.NullValueProvider的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: lams   文件: ObjectArrayDeserializer.java
protected ObjectArrayDeserializer(ObjectArrayDeserializer base,
        JsonDeserializer<Object> elemDeser, TypeDeserializer elemTypeDeser,
        NullValueProvider nuller, Boolean unwrapSingle)
{
    super(base, nuller, unwrapSingle);
    _elementClass = base._elementClass;
    _untyped = base._untyped;

    _elementDeserializer = elemDeser;
    _elementTypeDeserializer = elemTypeDeser;
}
 
源代码2 项目: lams   文件: ObjectArrayDeserializer.java
/**
 * @since 2.7
 */
@SuppressWarnings("unchecked")
public ObjectArrayDeserializer withResolved(TypeDeserializer elemTypeDeser,
        JsonDeserializer<?> elemDeser, NullValueProvider nuller, Boolean unwrapSingle)
{
    if ((unwrapSingle == _unwrapSingle) && (nuller == _nullProvider)
            && (elemDeser == _elementDeserializer)
            && (elemTypeDeser == _elementTypeDeserializer)) {
        return this;
    }
    return new ObjectArrayDeserializer(this,
            (JsonDeserializer<Object>) elemDeser, elemTypeDeser,
            nuller, unwrapSingle);
}
 
@Override
protected JsonDeserializer<?> _createContextual(JavaType type,
        KeyDeserializer keyDeserializer, TypeDeserializer typeDeserializer,
        JsonDeserializer<?> elementDeserializer, Method method, NullValueProvider nvp) {
    return new HashMultimapDeserializer(type, keyDeserializer, typeDeserializer,
            elementDeserializer, method, nvp);
}
 
源代码4 项目: lams   文件: StringCollectionDeserializer.java
@SuppressWarnings("unchecked")
protected StringCollectionDeserializer(JavaType collectionType,
        ValueInstantiator valueInstantiator, JsonDeserializer<?> delegateDeser,
        JsonDeserializer<?> valueDeser,
        NullValueProvider nuller, Boolean unwrapSingle)
{
    super(collectionType, nuller, unwrapSingle);
    _valueDeserializer = (JsonDeserializer<String>) valueDeser;
    _valueInstantiator = valueInstantiator;
    _delegateDeserializer = (JsonDeserializer<Object>) delegateDeser;
}
 
源代码5 项目: lams   文件: StringCollectionDeserializer.java
protected StringCollectionDeserializer withResolved(JsonDeserializer<?> delegateDeser,
        JsonDeserializer<?> valueDeser,
        NullValueProvider nuller, Boolean unwrapSingle)
{
    if ((_unwrapSingle == unwrapSingle) && (_nullProvider == nuller)
            && (_valueDeserializer == valueDeser) && (_delegateDeserializer == delegateDeser)) {
        return this;
    }
    return new StringCollectionDeserializer(_containerType, _valueInstantiator,
            delegateDeser, valueDeser, nuller, unwrapSingle);
}
 
源代码6 项目: lams   文件: StdDeserializer.java
/**
 * Method called to find {@link NullValueProvider} for a primary property, using
 * "value nulls" setting. If no provider found (not defined, or is "skip"),
 * will return `null`.
 *
 * @since 2.9
 */
protected final NullValueProvider findValueNullProvider(DeserializationContext ctxt,
        SettableBeanProperty prop, PropertyMetadata propMetadata)
    throws JsonMappingException
{
    if (prop != null) {
        return _findNullProvider(ctxt, prop, propMetadata.getValueNulls(),
                prop.getValueDeserializer());
    }
    return null;
}
 
源代码7 项目: lams   文件: StdDeserializer.java
/**
 * Method called to find {@link NullValueProvider} for a contents of a structured
 * primary property (Collection, Map, array), using
 * "content nulls" setting. If no provider found (not defined),
 * will return given value deserializer (which is a null value provider itself).
 *
 * @since 2.9
 */
protected NullValueProvider findContentNullProvider(DeserializationContext ctxt,
        BeanProperty prop, JsonDeserializer<?> valueDeser)
    throws JsonMappingException
{
    final Nulls nulls = findContentNullStyle(ctxt, prop);
    if (nulls == Nulls.SKIP) {
        return NullsConstantProvider.skipper();
    }
    NullValueProvider prov = _findNullProvider(ctxt, prop, nulls, valueDeser);
    if (prov != null) {
        return prov;
    }
    return valueDeser;
}
 
源代码8 项目: lams   文件: PrimitiveArrayDeserializers.java
/**
 * @since 2.7
 */
protected PrimitiveArrayDeserializers(PrimitiveArrayDeserializers<?> base,
        NullValueProvider nuller, Boolean unwrapSingle) {
    super(base._valueClass);
    _unwrapSingle = unwrapSingle;
    _nuller = nuller;
}
 
@Override
public ImmutableMapDeserializer withResolved(KeyDeserializer keyDeser,
        JsonDeserializer<?> valueDeser, TypeDeserializer valueTypeDeser,
        NullValueProvider nuller) {
    return new ImmutableMapDeserializer(_containerType, keyDeser,
            valueDeser, valueTypeDeser, nuller);
}
 
@Override
protected JsonDeserializer<?> _createContextual(JavaType type,
        KeyDeserializer keyDeserializer, TypeDeserializer typeDeserializer,
        JsonDeserializer<?> elementDeserializer, Method method,
        NullValueProvider nvp) {
    return new ArrayListMultimapDeserializer(type, keyDeserializer, typeDeserializer,
            elementDeserializer, method, nvp);
}
 
源代码11 项目: lams   文件: EnumMapDeserializer.java
/**
 * @since 2.9
 */
public EnumMapDeserializer(JavaType mapType, ValueInstantiator valueInst,
        KeyDeserializer keyDeser, JsonDeserializer<?> valueDeser, TypeDeserializer vtd,
        NullValueProvider nuller)
{
    super(mapType, nuller, null);
    _enumClass = mapType.getKeyType().getRawClass();
    _keyDeserializer = keyDeser;
    _valueDeserializer = (JsonDeserializer<Object>) valueDeser;
    _valueTypeDeserializer = vtd;
    _valueInstantiator = valueInst;
}
 
源代码12 项目: lams   文件: EnumMapDeserializer.java
/**
 * @since 2.9
 */
protected EnumMapDeserializer(EnumMapDeserializer base,
        KeyDeserializer keyDeser, JsonDeserializer<?> valueDeser, TypeDeserializer vtd,
        NullValueProvider nuller)
{
    super(base, nuller, base._unwrapSingle);
    _enumClass = base._enumClass;
    _keyDeserializer = keyDeser;
    _valueDeserializer = (JsonDeserializer<Object>) valueDeser;
    _valueTypeDeserializer = vtd;

    _valueInstantiator = base._valueInstantiator;
    _delegateDeserializer = base._delegateDeserializer;
    _propertyBasedCreator = base._propertyBasedCreator;
}
 
源代码13 项目: lams   文件: EnumMapDeserializer.java
public EnumMapDeserializer withResolved(KeyDeserializer keyDeserializer,
        JsonDeserializer<?> valueDeserializer, TypeDeserializer valueTypeDeser,
        NullValueProvider nuller)
{
    if ((keyDeserializer == _keyDeserializer) && (nuller == _nullProvider)
            && (valueDeserializer == _valueDeserializer) && (valueTypeDeser == _valueTypeDeserializer)) {
        return this;
    }
    return new EnumMapDeserializer(this,
            keyDeserializer, valueDeserializer, valueTypeDeser, nuller);
}
 
源代码14 项目: lams   文件: ContainerDeserializerBase.java
/**
 * @since 2.9
 */
protected ContainerDeserializerBase(ContainerDeserializerBase<?> base,
        NullValueProvider nuller, Boolean unwrapSingle) {
    super(base._containerType);
    _containerType = base._containerType;
    _nullProvider = nuller;
    _unwrapSingle = unwrapSingle;
    _skipNullValues = NullsConstantProvider.isSkipper(nuller);
}
 
源代码15 项目: lams   文件: ArrayBlockingQueueDeserializer.java
/**
 * Constructor used when creating contextualized instances.
 */
 protected ArrayBlockingQueueDeserializer(JavaType containerType,
        JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser,
        ValueInstantiator valueInstantiator,
        JsonDeserializer<Object> delegateDeser,
        NullValueProvider nuller, Boolean unwrapSingle)
{
    super(containerType, valueDeser, valueTypeDeser, valueInstantiator, delegateDeser,
            nuller, unwrapSingle);
}
 
源代码16 项目: lams   文件: ArrayBlockingQueueDeserializer.java
/**
 * Fluent-factory method call to construct contextual instance.
 */
@Override
@SuppressWarnings("unchecked")
protected ArrayBlockingQueueDeserializer withResolved(JsonDeserializer<?> dd,
        JsonDeserializer<?> vd, TypeDeserializer vtd,
        NullValueProvider nuller, Boolean unwrapSingle)
{
    return new ArrayBlockingQueueDeserializer(_containerType,
            (JsonDeserializer<Object>) vd, vtd,
            _valueInstantiator, (JsonDeserializer<Object>) dd,
            nuller, unwrapSingle);
}
 
源代码17 项目: lams   文件: StringArrayDeserializer.java
@SuppressWarnings("unchecked")
protected StringArrayDeserializer(JsonDeserializer<?> deser,
        NullValueProvider nuller, Boolean unwrapSingle) {
    super(String[].class);
    _elementDeserializer = (JsonDeserializer<String>) deser;
    _nullProvider = nuller;
    _unwrapSingle = unwrapSingle;
    _skipNullValues = NullsConstantProvider.isSkipper(nuller);
}
 
源代码18 项目: lams   文件: StringArrayDeserializer.java
/**
 * Contextualization is needed to see whether we can "inline" deserialization
 * of String values, or if we have to use separate value deserializer.
 */
@Override
public JsonDeserializer<?> createContextual(DeserializationContext ctxt, BeanProperty property)
        throws JsonMappingException
{
    JsonDeserializer<?> deser = _elementDeserializer;
    // May have a content converter
    deser = findConvertingContentDeserializer(ctxt, property, deser);
    JavaType type = ctxt.constructType(String.class);
    if (deser == null) {
        deser = ctxt.findContextualValueDeserializer(type, property);
    } else { // if directly assigned, probably not yet contextual, so:
        deser = ctxt.handleSecondaryContextualization(deser, property, type);
    }
    // One more thing: allow unwrapping?
    Boolean unwrapSingle = findFormatFeature(ctxt, property, String[].class,
            JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);
    NullValueProvider nuller = findContentNullProvider(ctxt, property, deser);
    // Ok ok: if all we got is the default String deserializer, can just forget about it
    if ((deser != null) && isDefaultDeserializer(deser)) {
        deser = null;
    }
    if ((_elementDeserializer == deser)
            && (_unwrapSingle == unwrapSingle)
            && (_nullProvider == nuller)) {
        return this;
    }
    return new StringArrayDeserializer(deser, nuller, unwrapSingle);
}
 
源代码19 项目: lams   文件: ObjectIdReferenceProperty.java
public ObjectIdReferenceProperty(ObjectIdReferenceProperty src, JsonDeserializer<?> deser,
        NullValueProvider nva)
{
    super(src, deser, nva);
    _forward = src._forward;
    _objectIdInfo = src._objectIdInfo;
}
 
源代码20 项目: lams   文件: FieldProperty.java
protected FieldProperty(FieldProperty src, JsonDeserializer<?> deser,
        NullValueProvider nva) {
    super(src, deser, nva);
    _annotated = src._annotated;
    _field = src._field;
    _skipNulls = NullsConstantProvider.isSkipper(nva);
}
 
源代码21 项目: lams   文件: MethodProperty.java
protected MethodProperty(MethodProperty src, JsonDeserializer<?> deser,
        NullValueProvider nva) {
    super(src, deser, nva);
    _annotated = src._annotated;
    _setter = src._setter;
    _skipNulls = NullsConstantProvider.isSkipper(nva);
}
 
@SuppressWarnings("unchecked")
public GuavaMultimapDeserializer(JavaType type, KeyDeserializer keyDeserializer,
        TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer,
        Method creatorMethod, NullValueProvider nvp)
{
    super(type, nvp, null);
    this._keyDeserializer = keyDeserializer;
    this._valueTypeDeserializer = elementTypeDeserializer;
    this._valueDeserializer = (JsonDeserializer<Object>) elementDeserializer;
    this.creatorMethod = creatorMethod;
}
 
源代码23 项目: caravan   文件: CustomCollectionDeserializer.java
/**
 * Constructor used when creating contextualized instances.
 *
 * @since 2.9
 */
protected CustomCollectionDeserializer(JavaType collectionType,
    JsonDeserializer<Object> valueDeser, TypeDeserializer valueTypeDeser,
    ValueInstantiator valueInstantiator, JsonDeserializer<Object> delegateDeser,
    NullValueProvider nuller, Boolean unwrapSingle) {
  super(collectionType, nuller, unwrapSingle);
  _valueDeserializer = valueDeser;
  _valueTypeDeserializer = valueTypeDeser;
  _valueInstantiator = valueInstantiator;
  _delegateDeserializer = delegateDeser;
}
 
源代码24 项目: caravan   文件: CustomCollectionDeserializer.java
/**
 * Fluent-factory method call to construct contextual instance.
 *
 * @since 2.9
 */
@SuppressWarnings("unchecked")
protected CustomCollectionDeserializer withResolved(JavaType vt, JsonDeserializer<?> dd,
    JsonDeserializer<?> vd, TypeDeserializer vtd,
    NullValueProvider nuller, Boolean unwrapSingle) {
  return new CustomCollectionDeserializer(_containerType,
      (JsonDeserializer<Object>) vd, vtd,
      _valueInstantiator, (JsonDeserializer<Object>) dd,
      nuller, unwrapSingle);
}
 
源代码25 项目: caravan   文件: MapDeserializerManager.java
protected CustomCollectionDeserializer withResolved(JavaType pairType, JsonDeserializer<?> dd, JsonDeserializer<?> vd, TypeDeserializer vtd,
    NullValueProvider nuller,
    Boolean unwrapSingle) {

  MapDeserializer deserializer = deserializers.get(pairType);
  if (deserializer == null) {
    deserializer = factory.createDeserializer(pairType);
    deserializer = deserializer.withResolved(pairType, dd, vd, vtd, nuller, unwrapSingle);

    deserializers.put(pairType, deserializer);
  }

  return deserializer;
}
 
@Override
protected JsonDeserializer<?> _createContextual(JavaType type,
        KeyDeserializer keyDeserializer, TypeDeserializer typeDeserializer,
        JsonDeserializer<?> elementDeserializer, Method method, NullValueProvider nvp) {
    return new LinkedListMultimapDeserializer(type, keyDeserializer, typeDeserializer,
            elementDeserializer, method, nvp);
}
 
protected GuavaMapDeserializer(JavaType type, KeyDeserializer keyDeser,
        JsonDeserializer<?> valueDeser, TypeDeserializer valueTypeDeser,
        NullValueProvider nuller)
{
    super(type, nuller, null);
    _keyDeserializer = keyDeser;
    _valueDeserializer = valueDeser;
    _valueTypeDeserializer = valueTypeDeser;
}
 
@Override
public GuavaMapDeserializer<ImmutableSortedMap<Object, Object>> withResolved(KeyDeserializer keyDeser,
        JsonDeserializer<?> valueDeser, TypeDeserializer typeDeser,
        NullValueProvider nuller)
{
    return new ImmutableSortedMapDeserializer(_containerType, keyDeser, valueDeser, typeDeser, nuller);
}
 
protected GuavaCollectionDeserializer(JavaType selfType,
        JsonDeserializer<?> deser, TypeDeserializer typeDeser,
        NullValueProvider nuller, Boolean unwrapSingle)
{
    super(selfType, nuller, unwrapSingle);
    _valueTypeDeserializer = typeDeser;
    _valueDeserializer = deser;
}
 
/**
 * Method called to finalize setup of this deserializer,
 * after deserializer itself has been registered. This
 * is needed to handle recursive and transitive dependencies.
 */
@Override
public JsonDeserializer<?> createContextual(DeserializationContext ctxt,
        BeanProperty property) throws JsonMappingException
{
    Boolean unwrapSingle = findFormatFeature(ctxt, property, Collection.class,
            JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY);

    JsonDeserializer<?> valueDeser = _valueDeserializer;
    TypeDeserializer valueTypeDeser = _valueTypeDeserializer;
    if (valueDeser == null) {
        valueDeser = ctxt.findContextualValueDeserializer(_containerType.getContentType(), property);
    }
    if (valueTypeDeser != null) {
        valueTypeDeser = valueTypeDeser.forProperty(property);
    }

    NullValueProvider nuller = findContentNullProvider(ctxt, property, valueDeser);

    if ( (unwrapSingle != _unwrapSingle)
            || (nuller != _nullProvider)
            || (valueDeser != _valueDeserializer)
            || (valueTypeDeser != _valueTypeDeserializer)) {
        return withResolved(valueDeser, valueTypeDeser, nuller, unwrapSingle);
    }
    return this;
}
 
 同包方法