类com.fasterxml.jackson.databind.jsontype.impl.StdSubtypeResolver源码实例Demo

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

源代码1 项目: lams   文件: ObjectMapper.java
/**
 * Constructs instance that uses specified {@link JsonFactory}
 * for constructing necessary {@link JsonParser}s and/or
 * {@link JsonGenerator}s, and uses given providers for accessing
 * serializers and deserializers.
 * 
 * @param jf JsonFactory to use: if null, a new {@link MappingJsonFactory} will be constructed
 * @param sp SerializerProvider to use: if null, a {@link SerializerProvider} will be constructed
 * @param dc Blueprint deserialization context instance to use for creating
 *    actual context objects; if null, will construct standard
 *    {@link DeserializationContext}
 */
public ObjectMapper(JsonFactory jf,
        DefaultSerializerProvider sp, DefaultDeserializationContext dc)
{
    /* 02-Mar-2009, tatu: Important: we MUST default to using
     *   the mapping factory, otherwise tree serialization will
     *   have problems with POJONodes.
     * 03-Jan-2010, tatu: and obviously we also must pass 'this',
     *    to create actual linking.
     */
    if (jf == null) {
        _jsonFactory = new MappingJsonFactory(this);
    } else {
        _jsonFactory = jf;
        if (jf.getCodec() == null) { // as per [JACKSON-741]
            _jsonFactory.setCodec(this);
        }
    }
    _subtypeResolver = new StdSubtypeResolver();
    RootNameLookup rootNames = new RootNameLookup();
    // and default type factory is shared one
    _typeFactory = TypeFactory.defaultInstance();

    SimpleMixInResolver mixins = new SimpleMixInResolver(null);
    _mixIns = mixins;
    BaseSettings base = DEFAULT_BASE.withClassIntrospector(defaultClassIntrospector());
    _configOverrides = new ConfigOverrides();
    _serializationConfig = new SerializationConfig(base,
                _subtypeResolver, mixins, rootNames, _configOverrides);
    _deserializationConfig = new DeserializationConfig(base,
                _subtypeResolver, mixins, rootNames, _configOverrides);

    // Some overrides we may need
    final boolean needOrder = _jsonFactory.requiresPropertyOrdering();
    if (needOrder ^ _serializationConfig.isEnabled(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY)) {
        configure(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY, needOrder);
    }
    
    _serializerProvider = (sp == null) ? new DefaultSerializerProvider.Impl() : sp;
    _deserializationContext = (dc == null) ?
            new DefaultDeserializationContext.Impl(BeanDeserializerFactory.instance) : dc;

    // Default serializer factory is stateless, can just assign
    _serializerFactory = BeanSerializerFactory.instance;
}
 
 同包方法