类com.fasterxml.jackson.databind.module.SimpleDeserializers源码实例Demo

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

@Test
public void setupModule() throws JsonMappingException {
  SetupContext context = mock(SetupContext.class);

  underTest.setupModule(context);

  ArgumentCaptor<SimpleSerializers> serializersCaptor = ArgumentCaptor.forClass(SimpleSerializers.class);
  ArgumentCaptor<SimpleDeserializers> deserializersCaptor = ArgumentCaptor.forClass(SimpleDeserializers.class);

  verify(context).addSerializers(serializersCaptor.capture());
  verify(context).addDeserializers(deserializersCaptor.capture());

  JavaType javaType = new ObjectMapper().constructType(Schema.class);

  JsonSerializer<?> serializer = serializersCaptor.getValue().findSerializer(null, javaType, null);
  assertThat(serializer, is(instanceOf(SchemaSerializer.class)));

  JsonDeserializer<?> deserializer = deserializersCaptor.getValue().findBeanDeserializer(javaType, null, null);
  assertThat(deserializer, is(instanceOf(SchemaDeserializer.class)));
}
 
源代码2 项目: titus-control-plane   文件: CommonObjectMappers.java
private static ObjectMapper createProtobufMapper() {
    ObjectMapper mapper = new ObjectMapper();

    // Serialization
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    // Deserialization
    mapper.disable(SerializationFeature.INDENT_OUTPUT);

    SimpleDeserializers simpleDeserializers = new SimpleDeserializers();
    simpleDeserializers.addDeserializer(String.class, new TrimmingStringDeserializer());

    List<Deserializers> deserializersList = Arrays.asList(
            new AssignableFromDeserializers(Message.class, new ProtobufMessageDeserializer()),
            simpleDeserializers
    );
    CompositeDeserializers compositeDeserializers = new CompositeDeserializers(deserializersList);
    CustomDeserializerSimpleModule module = new CustomDeserializerSimpleModule(compositeDeserializers);
    module.addSerializer(Message.class, new ProtobufMessageSerializer());
    mapper.registerModule(module);

    return mapper;
}
 
private ObjectMapper getObjectMapper() {
    ObjectMapper mapper = new ObjectMapper();

    // Serialization
    mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);

    // Deserialization
    mapper.disable(SerializationFeature.INDENT_OUTPUT);

    SimpleDeserializers simpleDeserializers = new SimpleDeserializers();
    simpleDeserializers.addDeserializer(String.class, new TrimmingStringDeserializer());

    List<Deserializers> deserializersList = Arrays.asList(
            new AssignableFromDeserializers(Message.class, new ProtobufMessageDeserializer()),
            simpleDeserializers
    );
    CompositeDeserializers compositeDeserializers = new CompositeDeserializers(deserializersList);
    CustomDeserializerSimpleModule module = new CustomDeserializerSimpleModule(compositeDeserializers);
    module.addSerializer(Message.class, new ProtobufMessageSerializer());
    mapper.registerModule(module);

    return mapper;
}
 
源代码4 项目: jackson-datatype-money   文件: MoneyModule.java
@Override
public void setupModule(final SetupContext context) {
    final SimpleSerializers serializers = new SimpleSerializers();
    serializers.addSerializer(CurrencyUnit.class, new CurrencyUnitSerializer());
    serializers.addSerializer(MonetaryAmount.class, new MonetaryAmountSerializer(names, writer, formatFactory));
    context.addSerializers(serializers);

    final SimpleDeserializers deserializers = new SimpleDeserializers();
    deserializers.addDeserializer(CurrencyUnit.class, new CurrencyUnitDeserializer());
    deserializers.addDeserializer(MonetaryAmount.class, new MonetaryAmountDeserializer<>(amountFactory, names));
    // for reading into concrete implementation types
    deserializers.addDeserializer(Money.class, new MonetaryAmountDeserializer<>(moneyFactory, names));
    deserializers.addDeserializer(FastMoney.class, new MonetaryAmountDeserializer<>(fastMoneyFactory, names));
    deserializers.addDeserializer(RoundedMoney.class, new MonetaryAmountDeserializer<>(roundedMoneyFactory, names));
    context.addDeserializers(deserializers);
}
 
private StrictObjectMapper(BlockAllocator allocator)
{
    super(JSON_FACTORY);
    _serializerFactory = SERIALIZER_FACTORY;

    ImmutableMap<Class<?>, JsonDeserializer<?>> desers = ImmutableMap.of(
            FederationRequest.class, createRequestDeserializer(allocator),
            FederationResponse.class, createResponseDeserializer(allocator),
            LambdaFunctionException.class, new LambdaFunctionExceptionSerDe.Deserializer());
    SimpleDeserializers deserializers = new SimpleDeserializers(desers);
    DeserializerFactoryConfig dConfig = new DeserializerFactoryConfig().withAdditionalDeserializers(deserializers);
    _deserializationContext = new DefaultDeserializationContext.Impl(new StrictDeserializerFactory(dConfig));
    // required by LambdaInvokerFactory
    disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
}
 
@Override
public void setupModule(SetupContext context) {
	SimpleSerializers serializers = new SimpleSerializers();
	serializers.addSerializer(Sort.class, new SortJsonComponent.SortSerializer());
	context.addSerializers(serializers);

	SimpleDeserializers deserializers = new SimpleDeserializers();
	deserializers.addDeserializer(Sort.class,
			new SortJsonComponent.SortDeserializer());
	context.addDeserializers(deserializers);
}
 
源代码7 项目: haven-platform   文件: JobJacksonModule.java
@Override
public void setupModule(SetupContext setupContext) {
    SimpleSerializers serializers = new SimpleSerializers();
    addSerializers(serializers);
    setupContext.addSerializers(serializers);

    SimpleDeserializers deserializers = new SimpleDeserializers();
    addDeserializers(deserializers);
    setupContext.addDeserializers(deserializers);
}
 
源代码8 项目: haven-platform   文件: DmJacksonModule.java
/**
 * Method called by {@link ObjectMapper} when module is registered.
 * It is called to let module register functionality it provides,
 * using callback methods passed-in context object exposes.
 */
@Override
public void setupModule(SetupContext setupContext) {
    SimpleSerializers serializers = new SimpleSerializers();
    addSerializers(serializers);
    setupContext.addSerializers(serializers);

    SimpleDeserializers deserializers = new SimpleDeserializers();
    addDeserializers(deserializers);
    setupContext.addDeserializers(deserializers);
    setupContext.addBeanDeserializerModifier(new KeeperBeanDeserializerModifier());
}
 
源代码9 项目: Rosetta   文件: RosettaObjectMapperTest.java
private static void registerDeserializer(ConfigRegistry config, JsonDeserializer<TestObject> deserializer) {
  ObjectMapper objectMapper = new ObjectMapper();
  SimpleModule module = new SimpleModule();
  module.setDeserializers(new SimpleDeserializers(Collections.singletonMap(TestObject.class, deserializer)));
  objectMapper.registerModule(module);

  config.get(RosettaObjectMapper.class).setObjectMapper(objectMapper);
}
 
源代码10 项目: data-highway   文件: SchemaSerializationModule.java
@Override
public void setupModule(SetupContext context) {
  context.addSerializers(new SimpleSerializers(Collections.singletonList(new SchemaSerializer())));
  context.addDeserializers(new SimpleDeserializers(Collections.singletonMap(Schema.class, new SchemaDeserializer())));
}
 
源代码11 项目: haven-platform   文件: JobJacksonModule.java
@SuppressWarnings("unchecked")
private void addDeserializers(SimpleDeserializers deserializers) {
}
 
源代码12 项目: haven-platform   文件: DmJacksonModule.java
@SuppressWarnings("unchecked")
private void addDeserializers(SimpleDeserializers deserializers) {
    deserializers.addDeserializer(MimeType.class, new MimeTypeDeserializer());
    deserializers.addDeserializer(Keeper.class, (JsonDeserializer) new KeeperDeserializer());
}
 
源代码13 项目: jackson-datatype-protobuf   文件: ProtobufModule.java
@Override
public void setupModule(SetupContext context) {
  SimpleSerializers serializers = new SimpleSerializers();
  serializers.addSerializer(new MessageSerializer(config));
  serializers.addSerializer(new DurationSerializer());
  serializers.addSerializer(new FieldMaskSerializer());
  serializers.addSerializer(new ListValueSerializer());
  serializers.addSerializer(new NullValueSerializer());
  serializers.addSerializer(new StructSerializer());
  serializers.addSerializer(new TimestampSerializer());
  serializers.addSerializer(new ValueSerializer());
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(DoubleValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(FloatValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(Int64Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(UInt64Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(Int32Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(UInt32Value.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(BoolValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(StringValue.class));
  serializers.addSerializer(new WrappedPrimitiveSerializer<>(BytesValue.class));

  context.addSerializers(serializers);

  context.addDeserializers(new MessageDeserializerFactory(config));
  SimpleDeserializers deserializers = new SimpleDeserializers();
  deserializers.addDeserializer(Duration.class, new DurationDeserializer());
  deserializers.addDeserializer(FieldMask.class, new FieldMaskDeserializer());
  deserializers.addDeserializer(ListValue.class, new ListValueDeserializer().buildAtEnd());
  deserializers.addDeserializer(NullValue.class, new NullValueDeserializer());
  deserializers.addDeserializer(Struct.class, new StructDeserializer().buildAtEnd());
  deserializers.addDeserializer(Timestamp.class, new TimestampDeserializer());
  deserializers.addDeserializer(Value.class, new ValueDeserializer().buildAtEnd());
  deserializers.addDeserializer(DoubleValue.class, wrappedPrimitiveDeserializer(DoubleValue.class));
  deserializers.addDeserializer(FloatValue.class, wrappedPrimitiveDeserializer(FloatValue.class));
  deserializers.addDeserializer(Int64Value.class, wrappedPrimitiveDeserializer(Int64Value.class));
  deserializers.addDeserializer(UInt64Value.class, wrappedPrimitiveDeserializer(UInt64Value.class));
  deserializers.addDeserializer(Int32Value.class, wrappedPrimitiveDeserializer(Int32Value.class));
  deserializers.addDeserializer(UInt32Value.class, wrappedPrimitiveDeserializer(UInt32Value.class));
  deserializers.addDeserializer(BoolValue.class, wrappedPrimitiveDeserializer(BoolValue.class));
  deserializers.addDeserializer(StringValue.class, wrappedPrimitiveDeserializer(StringValue.class));
  deserializers.addDeserializer(BytesValue.class, wrappedPrimitiveDeserializer(BytesValue.class));
  context.addDeserializers(deserializers);
  context.setMixInAnnotations(MessageOrBuilder.class, MessageOrBuilderMixin.class);
}
 
 类方法
 同包方法