com.fasterxml.jackson.databind.ObjectMapper.addMixIn()方法的使用及代码示例

x33g5p2x  于2022-01-17 转载在 其他  
字(10.6k)|赞(0)|评价(0)|浏览(313)

本文整理了Java中com.fasterxml.jackson.databind.ObjectMapper.addMixIn()方法的一些代码示例,展示了ObjectMapper.addMixIn()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ObjectMapper.addMixIn()方法的具体详情如下:
包路径:com.fasterxml.jackson.databind.ObjectMapper
类名称:ObjectMapper
方法名:addMixIn

ObjectMapper.addMixIn介绍

[英]Method to use for adding mix-in annotations to use for augmenting specified class or interface. All annotations from mixinSource are taken to override annotations that target (or its supertypes) has.
[中]方法,用于添加混合注释以用于扩充指定的类或接口。mixinSource中的所有注释都将覆盖target(或其超类型)具有的注释。

代码示例

代码示例来源:origin: redisson/redisson

@Override
public void setMixInAnnotations(Class<?> target, Class<?> mixinSource) {
  addMixIn(target, mixinSource);
}

代码示例来源:origin: redisson/redisson

/**
 * @deprecated Since 2.5: replaced by a fluent form of the method; {@link #addMixIn(Class, Class)}.
 */
@Deprecated
public final void addMixInAnnotations(Class<?> target, Class<?> mixinSource) {
  addMixIn(target, mixinSource);
}

代码示例来源:origin: traccar/traccar

public UnwiredGeolocationProvider(String url, String key) {
  this.url = url;
  this.key = key;
  objectMapper = new ObjectMapper();
  objectMapper.addMixIn(Network.class, NetworkMixIn.class);
  objectMapper.addMixIn(CellTower.class, CellTowerMixIn.class);
  objectMapper.addMixIn(WifiAccessPoint.class, WifiAccessPointMixIn.class);
}

代码示例来源:origin: Netflix/eureka

protected void addMiniConfig(ObjectMapper mapper) {
  mapper.addMixIn(InstanceInfo.class, MiniInstanceInfoMixIn.class);
  bindAmazonInfoFilter(mapper);
}

代码示例来源:origin: redisson/redisson

private ObjectMapper createMapper(JsonFactory mapping, ClassLoader classLoader) {
  ObjectMapper mapper = new ObjectMapper(mapping);
  
  mapper.addMixIn(MasterSlaveServersConfig.class, MasterSlaveServersConfigMixIn.class);
  mapper.addMixIn(SingleServerConfig.class, SingleSeverConfigMixIn.class);
  mapper.addMixIn(Config.class, ConfigMixIn.class);
  mapper.addMixIn(ReferenceCodecProvider.class, ClassMixIn.class);
  mapper.addMixIn(AddressResolverGroupFactory.class, ClassMixIn.class);
  mapper.addMixIn(Codec.class, ClassMixIn.class);
  mapper.addMixIn(RedissonNodeInitializer.class, ClassMixIn.class);
  mapper.addMixIn(LoadBalancer.class, ClassMixIn.class);
  
  FilterProvider filterProvider = new SimpleFilterProvider()
      .addFilter("classFilter", SimpleBeanPropertyFilter.filterOutAllExcept());
  mapper.setFilterProvider(filterProvider);
  mapper.setSerializationInclusion(Include.NON_NULL);
  if (classLoader != null) {
    TypeFactory tf = TypeFactory.defaultInstance()
        .withClassLoader(classLoader);
    mapper.setTypeFactory(tf);
  }
  
  return mapper;
}

代码示例来源:origin: redisson/redisson

private ObjectMapper createMapper(JsonFactory mapping, ClassLoader classLoader) {
  ObjectMapper mapper = new ObjectMapper(mapping);
  
  mapper.addMixIn(MasterSlaveServersConfig.class, MasterSlaveServersConfigMixIn.class);
  mapper.addMixIn(SingleServerConfig.class, SingleSeverConfigMixIn.class);
  mapper.addMixIn(Config.class, ConfigMixIn.class);
  mapper.addMixIn(ReferenceCodecProvider.class, ClassMixIn.class);
  mapper.addMixIn(AddressResolverGroupFactory.class, ClassMixIn.class);
  mapper.addMixIn(Codec.class, ClassMixIn.class);
  mapper.addMixIn(RedissonNodeInitializer.class, ClassMixIn.class);
  mapper.addMixIn(LoadBalancer.class, ClassMixIn.class);
  
  FilterProvider filterProvider = new SimpleFilterProvider()
      .addFilter("classFilter", SimpleBeanPropertyFilter.filterOutAllExcept());
  mapper.setFilterProvider(filterProvider);
  mapper.setSerializationInclusion(Include.NON_NULL);
  if (classLoader != null) {
    TypeFactory tf = TypeFactory.defaultInstance()
        .withClassLoader(classLoader);
    mapper.setTypeFactory(tf);
  }
  
  return mapper;
}

代码示例来源:origin: Netflix/eureka

private ObjectMapper createObjectMapper(KeyFormatter keyFormatter, boolean compact, boolean wrapped) {
  ObjectMapper newMapper = new ObjectMapper();
  SimpleModule jsonModule = new SimpleModule();
  jsonModule.setSerializerModifier(EurekaJacksonJsonModifiers.createJsonSerializerModifier(keyFormatter, compact));
  newMapper.registerModule(jsonModule);
  newMapper.setSerializationInclusion(Include.NON_NULL);
  newMapper.configure(SerializationFeature.WRAP_ROOT_VALUE, wrapped);
  newMapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, false);
  newMapper.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, wrapped);
  newMapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
  newMapper.addMixIn(Applications.class, ApplicationsJsonMixIn.class);
  if (compact) {
    addMiniConfig(newMapper);
  } else {
    newMapper.addMixIn(InstanceInfo.class, InstanceInfoJsonMixIn.class);
  }
  return newMapper;
}

代码示例来源:origin: blox/blox

public PojoErrorResolver(final ObjectMapper mapper) {
 this.mapper = mapper.copy().addMixIn(Throwable.class, ThrowableSerializationMixin.class);
}

代码示例来源:origin: blox/blox

public PojoExceptionResolver(final ObjectMapper mapper) {
 this.mapper = mapper.copy().addMixIn(Throwable.class, ThrowableSerializationMixin.class);
}

代码示例来源:origin: spring-projects/spring-data-examples

/**
 * Read JSON data from disk and insert those stores.
 *
 * @return
 */
public @Bean AbstractRepositoryPopulatorFactoryBean repositoryPopulator() {
  ObjectMapper mapper = new ObjectMapper();
  mapper.addMixIn(GeoJsonPoint.class, GeoJsonPointMixin.class);
  mapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false);
  Jackson2RepositoryPopulatorFactoryBean factoryBean = new Jackson2RepositoryPopulatorFactoryBean();
  factoryBean.setResources(new Resource[] { new ClassPathResource("starbucks-in-nyc.json") });
  factoryBean.setMapper(mapper);
  return factoryBean;
}

代码示例来源:origin: redisson/redisson

protected void init(ObjectMapper objectMapper) {
  objectMapper.setSerializationInclusion(Include.NON_NULL);
  objectMapper.setVisibility(objectMapper.getSerializationConfig()
                        .getDefaultVisibilityChecker()
                          .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
                          .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
                          .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
                          .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
  objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
  objectMapper.enable(Feature.WRITE_BIGDECIMAL_AS_PLAIN);
  objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
  objectMapper.enable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY);
  objectMapper.addMixIn(Throwable.class, ThrowableMixIn.class);
}

代码示例来源:origin: redisson/redisson

protected void init(ObjectMapper objectMapper) {
  objectMapper.setSerializationInclusion(Include.NON_NULL);
  objectMapper.setVisibility(objectMapper.getSerializationConfig()
                        .getDefaultVisibilityChecker()
                          .withFieldVisibility(JsonAutoDetect.Visibility.ANY)
                          .withGetterVisibility(JsonAutoDetect.Visibility.NONE)
                          .withSetterVisibility(JsonAutoDetect.Visibility.NONE)
                          .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
  objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
  objectMapper.enable(Feature.WRITE_BIGDECIMAL_AS_PLAIN);
  objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);
  objectMapper.enable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY);
  objectMapper.addMixIn(Throwable.class, ThrowableMixIn.class);
}

代码示例来源:origin: ehcache/ehcache3

@Before
public void before() {
 mapper.addMixIn(CapabilityContext.class, CapabilityContextMixin.class);
}

代码示例来源:origin: spring-projects/spring-security

@Test
public void readValueWhenMixinProvidedThenReadsAsSpecificType() throws Exception {
  mapper.addMixIn(NotWhitelisted.class, NotWhitelistedMixin.class);
  String content = "{\"@class\":\"org.springframework.security.jackson2.SecurityJackson2ModulesTests$NotWhitelisted\",\"property\":\"bar\"}";
  assertThat(mapper.readValue(content, Object.class)).isInstanceOf(NotWhitelisted.class);
}

代码示例来源:origin: spring-projects/spring-security

@Test
public void readValueWhenHashMapThenReadsAsSpecificType() throws Exception {
  mapper.addMixIn(NotWhitelisted.class, NotWhitelistedMixin.class);
  String content = "{\"@class\":\"java.util.HashMap\"}";
  assertThat(mapper.readValue(content, Object.class)).isInstanceOf(HashMap.class);
}

代码示例来源:origin: swagger-api/swagger-core

@Test(description = "read composed schem refs #2900")
public void readComposedSchema_ticket2900() {
  Json.mapper().addMixIn(TestObjectTicket2900.GsonJsonPrimitive.class, TestObjectTicket2900.GsonJsonPrimitiveMixIn.class);
  Map<String, Schema> schemas = ModelConverters.getInstance().readAll(TestObjectTicket2900.class);
  Schema model = schemas.get("SomeDTO");
  Assert.assertNotNull(model);
  Map<String, Schema> properties = model.getProperties();
  Assert.assertNotNull(properties.get("value"));
  Assert.assertEquals(properties.get("value").get$ref(), "#/components/schemas/MyJsonPrimitive");
  Assert.assertEquals(properties.get("valueWithMixIn").get$ref(), "#/components/schemas/GsonJsonPrimitive");
  model = schemas.get("MyJsonPrimitive");
  Assert.assertNotNull(model);
  Assert.assertTrue(((ComposedSchema)model).getOneOf().size() == 2);
  Assert.assertEquals(((ComposedSchema)model).getOneOf().get(0).getType(), "string");
  Assert.assertEquals(((ComposedSchema)model).getOneOf().get(1).getType(), "number");
  model = schemas.get("GsonJsonPrimitive");
  Assert.assertNotNull(model);
  Assert.assertTrue(((ComposedSchema)model).getOneOf().size() == 2);
  Assert.assertEquals(((ComposedSchema)model).getOneOf().get(0).getType(), "string");
  Assert.assertEquals(((ComposedSchema)model).getOneOf().get(1).getType(), "number");
  Assert.assertNull(model.getProperties());
}

代码示例来源:origin: matsim-org/matsim

private ObjectMapper createObjectMapper() {
  ObjectMapper result = new ObjectMapper();
  result.addMixIn(Coordinate.class, CoordinateMixin.class);
  return result;
}

代码示例来源:origin: com.eclipsesource.jaxrs/jersey-all

/**
 * @deprecated Since 2.5: replaced by a fluent form of the method; {@link #addMixIn(Class, Class)}.
 */
@Deprecated
public final void addMixInAnnotations(Class<?> target, Class<?> mixinSource) {
  addMixIn(target, mixinSource);
}

代码示例来源:origin: codecentric/spring-boot-starter-batch-web

@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
  for (HttpMessageConverter<?> httpMessageConverter : converters) {
    if (httpMessageConverter instanceof MappingJackson2HttpMessageConverter) {
      final MappingJackson2HttpMessageConverter converter = (MappingJackson2HttpMessageConverter) httpMessageConverter;
      converter.getObjectMapper().addMixIn(StepExecution.class, StepExecutionJacksonMixIn.class);
    }
  }
}

代码示例来源:origin: dremio/dremio-oss

protected ObjectMapper newObjectMapper(Configuration configuration, ScanResult scanResult, ConnectionReader connectionReader) {
  Boolean property = PropertyHelper.getProperty(configuration, RestServerV2.JSON_PRETTYPRINT_ENABLE);
  final boolean prettyPrint = property != null && property;
  ObjectMapper mapper = prettyPrint ? JSONUtil.prettyMapper() : JSONUtil.mapper();
  JSONUtil.registerStorageTypes(mapper, scanResult, connectionReader);
  mapper.addMixIn(VirtualDatasetUI.class, VirtualDatasetUIMixin.class);
  return mapper;
 }
}

相关文章

微信公众号

最新文章

更多

ObjectMapper类方法