Java 类com.fasterxml.jackson.databind.ser.BeanSerializerFactory 实例源码

项目:sam    文件:JsonHelper.java   
public static JsonSerializer<Object> getBeanSerializer(SerializerProvider sp, Class<?> cls) throws JsonMappingException {

    final SerializationConfig config = sp.getConfig();
    final JavaType type = config.constructType(cls);
    final BeanDescription beanDesc = config.introspect(type);
    return BeanSerializerFactory.instance.findBeanSerializer(sp, type, beanDesc);
  }
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:DataSourceJsonSerializationTests.java   
@Test
public void serializerFactory() throws Exception {
    DataSource dataSource = new DataSource();
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializerFactory(factory);
    String value = mapper.writeValueAsString(dataSource);
    assertThat(value.contains("\"url\":")).isTrue();
}
项目:endpoints-java    文件:ObjectMapperUtil.java   
/**
 * Creates an Endpoints standard object mapper that allows unquoted field names and unknown
 * properties.
 *
 * Note on unknown properties: When Apiary FE supports a strict mode where properties
 * are checked against the schema, BE can just ignore unknown properties.  This way, FE does
 * not need to filter out everything that the BE doesn't understand.  Before that's done,
 * a property name with a typo in it, for example, will just be ignored by the BE.
 */
public static ObjectMapper createStandardObjectMapper(ApiSerializationConfig config) {
  ObjectMapper objectMapper = new ObjectMapper()
      .configure(JsonParser.Feature.ALLOW_COMMENTS, true)
      .configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true)
      .configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true)
      .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
      .setBase64Variant(Base64Variants.MODIFIED_FOR_URL)
      .setSerializerFactory(
          BeanSerializerFactory.instance.withSerializerModifier(new DeepEmptyCheckingModifier()));
  AnnotationIntrospector pair = AnnotationIntrospector.pair(
      new ApiAnnotationIntrospector(config), new JacksonAnnotationIntrospector());
  objectMapper.setAnnotationIntrospector(pair);
  return objectMapper;
}
项目:spring-boot-concourse    文件:DataSourceJsonSerializationTests.java   
@Test
public void serializerFactory() throws Exception {
    DataSource dataSource = new DataSource();
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializerFactory(factory);
    String value = mapper.writeValueAsString(dataSource);
    assertThat(value.contains("\"url\":")).isTrue();
}
项目:contestparser    文件:DataSourceJsonSerializationTests.java   
@Test
public void serializerFactory() throws Exception {
    DataSource dataSource = new DataSource();
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    ObjectMapper mapper = new ObjectMapper();
    mapper.setSerializerFactory(factory);
    String value = mapper.writeValueAsString(dataSource);
    assertTrue(value.contains("\"url\":"));
}
项目:presto    文件:AbstractTypedJacksonModule.java   
@SuppressWarnings("unchecked")
private static <T> JsonSerializer<T> createSerializer(SerializerProvider provider, Class<?> type)
        throws JsonMappingException
{
    JavaType javaType = provider.constructType(type);
    return (JsonSerializer<T>) BeanSerializerFactory.instance.createSerializer(provider, javaType);
}
项目:jsonschema2pojo    文件:SchemaGenerator.java   
private SchemaAware getValueSerializer(Object valueAsJavaType) throws JsonMappingException {

        SerializerProvider serializerProvider = new DefaultSerializerProvider.Impl().createInstance(OBJECT_MAPPER.getSerializationConfig(), BeanSerializerFactory.instance);

        if (valueAsJavaType == null) {
            return NullSerializer.instance;
        } else {
            Class<? extends Object> javaTypeForValue = valueAsJavaType.getClass();
            JsonSerializer<Object> valueSerializer = serializerProvider.findValueSerializer(javaTypeForValue, null);
            return (SchemaAware) valueSerializer;
        }
    }
项目:https-github.com-g0t4-jenkins2-course-spring-boot    文件:ConfigurationPropertiesReportEndpoint.java   
/**
 * Ensure only bindable and non-cyclic bean properties are reported.
 * @param mapper the object mapper
 */
private void applySerializationModifier(ObjectMapper mapper) {
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    mapper.setSerializerFactory(factory);
}
项目:spring-boot-concourse    文件:ConfigurationPropertiesReportEndpoint.java   
/**
 * Ensure only bindable and non-cyclic bean properties are reported.
 * @param mapper the object mapper
 */
private void applySerializationModifier(ObjectMapper mapper) {
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    mapper.setSerializerFactory(factory);
}
项目:contestparser    文件:ConfigurationPropertiesReportEndpoint.java   
/**
 * Ensure only bindable and non-cyclic bean properties are reported.
 * @param mapper the object mapper
 */
private void applySerializationModifier(ObjectMapper mapper) {
    SerializerFactory factory = BeanSerializerFactory.instance
            .withSerializerModifier(new GenericSerializerModifier());
    mapper.setSerializerFactory(factory);
}
项目:hydra-java    文件:PagedResourcesSerializer.java   
@Override
public void serialize(PagedResources pagedResources, JsonGenerator jgen, SerializerProvider serializerProvider)
        throws
        IOException {

    final SerializationConfig config = serializerProvider.getConfig();
    JavaType javaType = config.constructType(pagedResources.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(serializerProvider,
            javaType);

    // replicate pretty much everything from JacksonHydraSerializer
    // since we must reorganize the internals of pagedResources to get a hydra collection
    // with partial page view, we have to serialize pagedResources with an
    // unwrapping serializer
    Deque<LdContext> contextStack = (Deque<LdContext>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
    if (contextStack == null) {
        contextStack = new ArrayDeque<LdContext>();
        serializerProvider.setAttribute(KEY_LD_CONTEXT, contextStack);
    }

    // TODO: filter next/previous/first/last from link list - maybe create new PagedResources without them?
    List<Link> links = pagedResources.getLinks();
    List<Link> filteredLinks = new ArrayList<Link>();
    for (Link link : links) {
        String rel = link.getRel();
        if (navigationRels.contains(rel)) {
            continue;
        } else {
            filteredLinks.add(link);
        }
    }

    PagedResources toRender = new PagedResources(pagedResources.getContent(), pagedResources.getMetadata(),
            filteredLinks);

    jgen.writeStartObject();

    serializeContext(toRender, jgen, serializerProvider, contextStack);

    jgen.writeStringField(JsonLdKeywords.AT_TYPE, "hydra:Collection");


    // serialize with PagedResourcesMixin
    serializer.unwrappingSerializer(NameTransformer.NOP)
            .serialize(toRender, jgen, serializerProvider);

    PagedResources.PageMetadata metadata = pagedResources.getMetadata();
    jgen.writeNumberField("hydra:totalItems", metadata.getTotalElements());

    // begin hydra:view
    jgen.writeObjectFieldStart("hydra:view");
    jgen.writeStringField(JsonLdKeywords.AT_TYPE, "hydra:PartialCollectionView");
    writeRelLink(pagedResources, jgen, Link.REL_NEXT);
    writeRelLink(pagedResources, jgen, "previous");
    // must also translate prev to its synonym previous
    writeRelLink(pagedResources, jgen, Link.REL_PREVIOUS, "previous");
    writeRelLink(pagedResources, jgen, Link.REL_FIRST);
    writeRelLink(pagedResources, jgen, Link.REL_LAST);
    jgen.writeEndObject();
    // end hydra:view


    jgen.writeEndObject();

    contextStack = (Deque<LdContext>) serializerProvider.getAttribute(KEY_LD_CONTEXT);
    if (!contextStack.isEmpty()) {
        contextStack.pop();
    }

}
项目:hydra-java    文件:ResourceSerializer.java   
@Override
public void serialize(Resource value, JsonGenerator jgen, SerializerProvider provider) throws IOException {

    final SerializationConfig config = provider.getConfig();
    JavaType javaType = config.constructType(value.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);

    jgen.writeStartObject();
    serializer.unwrappingSerializer(NameTransformer.NOP)
            .serialize(value, jgen, provider);

    jgen.writeEndObject();

}
项目:hydra-java    文件:ResourcesSerializer.java   
@Override
public void serialize(Resources value, JsonGenerator jgen, SerializerProvider provider) throws IOException {

    final SerializationConfig config = provider.getConfig();
    JavaType javaType = config.constructType(value.getClass());

    JsonSerializer<Object> serializer = BeanSerializerFactory.instance.createSerializer(provider, javaType);

    jgen.writeStartObject();
    serializer.serialize(value, jgen, provider);
    jgen.writeEndObject();

}