Example usage for com.fasterxml.jackson.databind.introspect AnnotatedClass construct

List of usage examples for com.fasterxml.jackson.databind.introspect AnnotatedClass construct

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.introspect AnnotatedClass construct.

Prototype

public static AnnotatedClass construct(Class<?> paramClass, AnnotationIntrospector paramAnnotationIntrospector,
              ClassIntrospector.MixInResolver paramMixInResolver) 

Source Link

Usage

From source file:com.pressassociation.pr.filter.json.jackson.JacksonFiltersTest.java

@Test
@Parameters(method = "methods")
public void testFilterAllOutput(OverloadedFilterAllOutput method) {
    ObjectMapper mapper = method.filterAllOutput(new ObjectMapper(), "foo/bar");
    AnnotationIntrospector introspector = mapper.getSerializationConfig().getAnnotationIntrospector();
    Object filterId = introspector.findFilterId((Annotated) AnnotatedClass.construct(TestObject.class,
            introspector, mapper.getDeserializationConfig()));
    assertNotNull(filterId);//from w ww. j  a va  2 s .  c om

    PropertyFilter propertyFilter = mapper.getSerializationConfig().getFilterProvider()
            .findPropertyFilter(filterId, new TestObject());
    assertNotNull(propertyFilter);
    assertTrue(propertyFilter instanceof JacksonMatcherFilter);
    assertEquals(Matcher.of("foo/bar"), ((JacksonMatcherFilter) propertyFilter).getMatcher());
}

From source file:com.github.mrenou.jacksonatic.internal.introspection.AnnotatedClassConstructor.java

public AnnotatedClass constructForSerialization(Class<?> cls, AnnotationIntrospector annotationIntrospector,
        ClassIntrospector.MixInResolver mir) {
    AnnotatedClass annotatedClass = AnnotatedClass.construct(cls, annotationIntrospector, mir);
    return processAnnotatedClass(JacksonOperation.SERIALIZATION, annotatedClass);
}

From source file:com.github.mrenou.jacksonatic.internal.introspection.AnnotatedClassConstructor.java

public AnnotatedClass constructForDeserialization(Class<?> cls, AnnotationIntrospector annotationIntrospector,
        ClassIntrospector.MixInResolver mir) {
    AnnotatedClass annotatedClass = AnnotatedClass.construct(cls, annotationIntrospector, mir);
    return processAnnotatedClass(JacksonOperation.DESERIALIZATION, annotatedClass);
}

From source file:com.github.mrenou.jacksonatic.internal.introspection.AnnotatedClassConstructor.java

public AnnotatedClass constructWithoutSuperTypes(Class<?> cls, AnnotationIntrospector annotationIntrospector,
        ClassIntrospector.MixInResolver mir) {
    AnnotatedClass annotatedClass = AnnotatedClass.construct(cls, annotationIntrospector, mir);
    return processAnnotatedClass(JacksonOperation.NO_SUPER_TYPES, annotatedClass);
}

From source file:com.pressassociation.pr.filter.json.jackson.JacksonRequestParamFilterTest.java

private void assertConfiguredWithMatcher(ObjectMapper mapper, Matcher matcher) {
    AnnotationIntrospector introspector = mapper.getSerializationConfig().getAnnotationIntrospector();
    Object filterId = introspector.findFilterId((Annotated) AnnotatedClass.construct(TestObject.class,
            introspector, mapper.getDeserializationConfig()));
    assertNotNull(filterId);// ww w .  j ava  2  s  .c  o  m

    PropertyFilter propertyFilter = mapper.getSerializationConfig().getFilterProvider()
            .findPropertyFilter(filterId, new TestObject());
    assertNotNull(propertyFilter);
    assertTrue(propertyFilter instanceof JacksonMatcherFilter);
    assertEquals(matcher, ((JacksonMatcherFilter) propertyFilter).getMatcher());
}

From source file:com.pressassociation.pr.filter.json.jackson.JacksonRequestParamFilterTest.java

private void assertConfiguredWithoutMatcher(ObjectMapper mapper) {
    AnnotationIntrospector introspector = mapper.getSerializationConfig().getAnnotationIntrospector();
    Object filterId = introspector.findFilterId((Annotated) AnnotatedClass.construct(TestObject.class,
            introspector, mapper.getDeserializationConfig()));
    assertNull(filterId);/*from  ww w .j  a v  a 2 s .c om*/
}

From source file:org.deeplearning4j.nn.conf.ComputationGraphConfiguration.java

/**
 * Create a computation graph configuration from json
 *
 * @param json the neural net configuration from json
 * @return {@link org.deeplearning4j.nn.conf.ComputationGraphConfiguration}
 *//*from  ww w . j  a  v  a  2s  .com*/
public static ComputationGraphConfiguration fromJson(String json) {
    //As per MultiLayerConfiguration.fromJson()
    ObjectMapper mapper = NeuralNetConfiguration.mapper();
    try {
        return mapper.readValue(json, ComputationGraphConfiguration.class);
    } catch (IOException e) {
        //No op - try again after adding new subtypes
    }

    //Try: programmatically registering JSON subtypes for GraphVertex classes. This allows users to to add custom GraphVertex
    // implementations without needing to manually register subtypes
    //First: get all registered subtypes
    AnnotatedClass ac = AnnotatedClass.construct(GraphVertex.class,
            mapper.getSerializationConfig().getAnnotationIntrospector(), null);
    Collection<NamedType> types = mapper.getSubtypeResolver().collectAndResolveSubtypes(ac,
            mapper.getSerializationConfig(), mapper.getSerializationConfig().getAnnotationIntrospector());
    Set<Class<?>> registeredSubtypes = new HashSet<>();
    for (NamedType nt : types) {
        registeredSubtypes.add(nt.getType());
    }

    //Second: get all subtypes of GraphVertex using reflection
    Reflections reflections = new Reflections();
    Set<Class<? extends GraphVertex>> subTypes = reflections.getSubTypesOf(GraphVertex.class);

    //Third: register all subtypes that are not already registered
    List<NamedType> toRegister = new ArrayList<>();
    for (Class<? extends GraphVertex> c : subTypes) {
        if (!registeredSubtypes.contains(c)) {
            String name;
            if (ClassUtils.isInnerClass(c)) {
                Class<?> c2 = c.getDeclaringClass();
                name = c2.getSimpleName() + "$" + c.getSimpleName();
            } else {
                name = c.getSimpleName();
            }
            toRegister.add(new NamedType(c, name));
        }
    }
    mapper = NeuralNetConfiguration.reinitMapperWithSubtypes(toRegister);

    try {
        return mapper.readValue(json, ComputationGraphConfiguration.class);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}