protected BeanMutatorAccessorResolver createBeanMutatorAccessorResolver() { List<BeanMutatorAccessorResolver> resolvers = new ArrayList<BeanMutatorAccessorResolver>(); resolvers.add(new BeanMutatorAccessorResolver.GensonAnnotationsResolver()); resolvers.add(new BeanMutatorAccessorResolver.StandardMutaAccessorResolver(propertyFilter, methodFilter, constructorFilter)); return new BeanMutatorAccessorResolver.CompositeResolver(resolvers); }
public Trilean isAccessor(Method method, Class<?> fromClass) { if (mustIgnore(method, true)) return FALSE; if (mustInclude(method, true) && method.getParameterTypes().length == 0) return TRUE; return Trilean.UNKNOWN; }
@Override public void configure(GensonBuilder builder) { // forcing here the order of GensonAnnotationsResolver and AnnotationPropertyNameResolver allows // us to give them preference over Jaxb annotations. We can not assume it true for any bundle, // as in some cases a bundle might want to have preference over all std Genson components builder.withConverters(new XMLGregorianCalendarConverter(), new DurationConveter()) .with(new BeanMutatorAccessorResolver.GensonAnnotationsResolver(), new JaxbAnnotationsResolver()) .with(new PropertyNameResolver.AnnotationPropertyNameResolver(), new JaxbNameResolver()) .withConverterFactory(new EnumConverterFactory()) .withBeanPropertyFactory(new JaxbBeanPropertyFactory()) .withContextualFactory(new XmlTypeAdapterFactory()); if (wrapRootValues) builder.withConverterFactory(new ChainedFactory() { @Override protected Converter<?> create(Type type, Genson genson, Converter<?> nextConverter) { Class<?> clazz = TypeUtil.getRawClass(type); XmlRootElement ann = clazz.getAnnotation(XmlRootElement.class); if (ann != null) { String name = "##default".equals(ann.name()) ? firstCharToLower(clazz.getSimpleName()) : ann.name(); return new WrappedRootValueConverter<Object>(name, name, (Converter<Object>) nextConverter); } return null; } }); }
@Override public void configure(GensonBuilder builder) { // forcing here the order of GensonAnnotationsResolver and AnnotationPropertyNameResolver allows // us to give them preference over Jaxb annotations. We can not assume it true for any bundle, // as in some cases a bundle might want to have preference over all std Genson components builder.withConverters(new XMLGregorianCalendarConverter(), new DurationConveter()) .with(new BeanMutatorAccessorResolver.GensonAnnotationsResolver(), new JaxbAnnotationsResolver()) .with(new PropertyNameResolver.AnnotationPropertyNameResolver(), new JaxbNameResolver()) .withConverterFactory(new EnumConverterFactory()) .withBeanPropertyFactory(new JaxbBeanPropertyFactory()) .withContextualFactory(new XmlTypeAdapterFactory()); if (wrapRootValues) builder.withConverterFactory(new ChainedFactory() { @Override protected Converter<?> create(Type type, Genson genson, Converter<?> nextConverter) { Class<?> clazz = TypeUtil.getRawClass(type); XmlRootElement ann = clazz.getAnnotation(XmlRootElement.class); if (ann != null) { String name = "##default".equals(ann.name()) ? firstCharToLower(clazz.getSimpleName()) : ann.name(); return new WrappedRootValueConverter<Object>(name, name, (Converter<Object>) nextConverter); } return null; } }); }
public Trilean isAccessor(Field field, Class<?> fromClass) { // ok to look for this$ is ugly but it will do the job for the moment if (mustIgnore(field, true) || field.getName().startsWith("this$")) return FALSE; if (mustInclude(field, true)) return TRUE; return Trilean.UNKNOWN; }
public Trilean isMutator(Method method, Class<?> fromClass) { if (mustIgnore(method, false)) return FALSE; if (mustInclude(method, false) && method.getParameterTypes().length == 1) return TRUE; return Trilean.UNKNOWN; }
public Trilean isAccessor(Field field, Class<?> fromClass) { // ok to look for this$ is ugly but it will do the job for the moment if (mustIgnore(field, true) || field.getName().startsWith("this$")) return FALSE; if (mustInclude(field, true)) return TRUE; return Trilean.UNKNOWN; }
public Trilean isCreator(Constructor<?> constructor, Class<?> fromClass) { /* * hum... it depends on different things, such as parameters name resolution, types, etc * but we are not supposed to handle it here... lets only check visibility and handle it * in the provider implementations */ if (mustIgnore(constructor, false)) return FALSE; return Trilean.UNKNOWN; }
protected BeanMutatorAccessorResolver createBeanMutatorAccessorResolver() { List<BeanMutatorAccessorResolver> resolvers = new ArrayList<BeanMutatorAccessorResolver>(); resolvers.add(new BeanMutatorAccessorResolver.GensonAnnotationsResolver()); resolvers.add(new BeanMutatorAccessorResolver.StandardMutaAccessorResolver(propertyFilter, methodFilter, constructorFilter)); return new BeanMutatorAccessorResolver.CompositeResolver(resolvers); }
public Trilean isMutator(Field field, Class<?> fromClass) { if (mustIgnore(field, false) || field.getName().startsWith("this$")) return FALSE; if (mustInclude(field, false)) return TRUE; return Trilean.UNKNOWN; }
public Trilean isCreator(Constructor<?> constructor, Class<?> fromClass) { /* * hum... it depends on different things, such as parameters name resolution, types, etc * but we are not supposed to handle it here... lets only check visibility and handle it * in the provider implementations */ if (mustIgnore(constructor, false)) return FALSE; return Trilean.UNKNOWN; }
public Trilean isAccessor(Method method, Class<?> fromClass) { if (mustIgnore(method, true)) return FALSE; if (mustInclude(method, true) && method.getParameterTypes().length == 0) return TRUE; return Trilean.UNKNOWN; }
public Trilean isMutator(Method method, Class<?> fromClass) { if (mustIgnore(method, false)) return FALSE; if (mustInclude(method, false) && method.getParameterTypes().length == 1) return TRUE; return Trilean.UNKNOWN; }
public Trilean isMutator(Field field, Class<?> fromClass) { if (mustIgnore(field, false) || field.getName().startsWith("this$")) return FALSE; if (mustInclude(field, false)) return TRUE; return Trilean.UNKNOWN; }