@Override protected PropertyMutator checkAndMergeMutators(String name, LinkedList<PropertyMutator> mutators) { PropertyMutator mutator = _mostSpecificPropertyDeclaringClass(name, mutators); return VisibilityFilter.ABSTRACT.isVisible(mutator.getModifiers()) ? mutator : null; }
@Override protected PropertyAccessor checkAndMergeAccessors(String name, LinkedList<PropertyAccessor> accessors) { PropertyAccessor accessor = _mostSpecificPropertyDeclaringClass(name, accessors); return VisibilityFilter.ABSTRACT.isVisible(accessor.getModifiers()) ? accessor : null; }
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 PropertyMutator createMutator(String name, Field field, Type ofType, Genson genson) { Class<?> ofClass = getRawClass(ofType); Type expandedType = TypeUtil.expandType(field.getGenericType(), ofType); return new PropertyMutator.FieldMutator(name, field, expandedType, ofClass); }
public PropertyMutator createMutator(String name, Method method, Type ofType, Genson genson) { Type expandedType = TypeUtil.expandType(method.getGenericParameterTypes()[0], ofType); return new PropertyMutator.MethodMutator(name, method, expandedType, getRawClass(ofType)); }
public BeanCreator createCreator(Type ofType, Method method, String[] resolvedNames, Genson genson) { return new BeanCreator.MethodBeanCreator(method, resolvedNames, expandTypes( method.getGenericParameterTypes(), ofType), getRawClass(ofType)); }
public BeanCreator createCreator(Type ofType, Constructor<?> ctr, String[] resolvedNames, Genson genson) { return new BeanCreator.ConstructorBeanCreator(getRawClass(ofType), ctr, resolvedNames, expandTypes(ctr.getGenericParameterTypes(), ofType)); }
protected BeanPropertyFactory createBeanPropertyFactory() { if (withBeanViewConverter) beanPropertyFactories.add(new BeanViewDescriptorProvider.BeanViewPropertyFactory( registeredViews)); beanPropertyFactories.add(new BeanPropertyFactory.StandardFactory()); return new BeanPropertyFactory.CompositeFactory(beanPropertyFactories); }
private boolean hasRelevantAnnotation(BeanProperty property){ JsonDateFormat formatAnn = property.getAnnotation(JsonDateFormat.class); JsonZoneId zoneIdAnn = property.getAnnotation(JsonZoneId.class); JsonTimestampFormat timestampFormatAnn = property.getAnnotation(JsonTimestampFormat.class); return formatAnn != null || zoneIdAnn != null || timestampFormatAnn != null; }
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); }
@SuppressWarnings("unchecked") private GenericType(Type type) { this.type = type; this.rawClass = (Class<T>) TypeUtil.getRawClass(type); }
public Type[] expandTypes(Type[] typesToExpand, Type inContext) { Type[] expandedTypes = new Type[typesToExpand.length]; for (int i = 0; i < typesToExpand.length; i++) { expandedTypes[i] = TypeUtil.expandType(typesToExpand[i], inContext); } return expandedTypes; } }
public Converter<Object> create(Type type, Genson genson) { if (TypeUtil.match(type, Object.class, true)) { return UntypedConverter.instance; } return null; } }
public BeanCreator createCreator(Type ofType, Method method, String[] resolvedNames, Genson genson) { return new BeanCreator.MethodBeanCreator(method, resolvedNames, expandTypes( method.getGenericParameterTypes(), ofType), getRawClass(ofType)); }
public BeanCreator createCreator(Type ofType, Constructor<?> ctr, String[] resolvedNames, Genson genson) { return new BeanCreator.ConstructorBeanCreator(getRawClass(ofType), ctr, resolvedNames, expandTypes(ctr.getGenericParameterTypes(), ofType)); }
@Override protected PropertyMutator checkAndMergeMutators(String name, LinkedList<PropertyMutator> mutators) { PropertyMutator mutator = _mostSpecificPropertyDeclaringClass(name, mutators); return VisibilityFilter.ABSTRACT.isVisible(mutator.getModifiers()) ? mutator : null; }
@Override protected PropertyAccessor checkAndMergeAccessors(String name, LinkedList<PropertyAccessor> accessors) { PropertyAccessor accessor = _mostSpecificPropertyDeclaringClass(name, accessors); return VisibilityFilter.ABSTRACT.isVisible(accessor.getModifiers()) ? accessor : null; }
protected BeanPropertyFactory createBeanPropertyFactory() { if (withBeanViewConverter) beanPropertyFactories.add(new BeanViewDescriptorProvider.BeanViewPropertyFactory( registeredViews)); beanPropertyFactories.add(new BeanPropertyFactory.StandardFactory()); return new BeanPropertyFactory.CompositeFactory(beanPropertyFactories); }
@SuppressWarnings("unchecked") private GenericType(Type type) { this.type = type; this.rawClass = (Class<T>) TypeUtil.getRawClass(type); }
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; }