List of usage examples for com.fasterxml.jackson.databind.introspect AnnotatedClass construct
public static AnnotatedClass construct(Class<?> paramClass, AnnotationIntrospector paramAnnotationIntrospector, ClassIntrospector.MixInResolver paramMixInResolver)
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); } }