| package org.codehaus.jackson.map; |
| |
| import java.util.*; |
| |
| import org.codehaus.jackson.map.introspect.AnnotatedMethod; |
| import org.codehaus.jackson.map.introspect.VisibilityChecker; |
| import org.codehaus.jackson.type.JavaType; |
| |
| /** |
| * Basic container for information gathered by {@link ClassIntrospector} to |
| * help in constructing serializers and deserializers. |
| * |
| * @author tatu |
| */ |
| public abstract class BeanDescription |
| { |
| /* |
| /****************************************************** |
| /* Configuration |
| /****************************************************** |
| */ |
| |
| /** |
| * Bean type information, including raw class and possible |
| * * generics information |
| */ |
| protected final JavaType _type; |
| |
| /* |
| /****************************************************** |
| /* Life-cycle |
| /****************************************************** |
| */ |
| |
| protected BeanDescription(JavaType type) |
| { |
| _type = type; |
| } |
| |
| /* |
| /****************************************************** |
| /* Simple accesors |
| /****************************************************** |
| */ |
| |
| /** |
| * Method for accessing declared type of bean being introspected, |
| * including full generic type information (from declaration) |
| */ |
| public JavaType getType() { return _type; } |
| |
| public Class<?> getBeanClass() { return _type.getRawClass(); } |
| |
| /* |
| /****************************************************** |
| /* Basic API |
| /****************************************************** |
| */ |
| |
| /** |
| * @param visibilityChecker Object that determines whether |
| * methods have enough visibility to be auto-detectable as getters |
| * @param ignoredProperties (optional, may be null) Names of properties |
| * to ignore; getters for these properties are not to be returned. |
| * |
| * @return Ordered Map with logical property name as key, and |
| * matching getter method as value. |
| */ |
| public abstract LinkedHashMap<String,AnnotatedMethod> findGetters(VisibilityChecker<?> visibilityChecker, |
| Collection<String> ignoredProperties); |
| |
| /** |
| * @param vchecker (optional) Object that determines whether specific methods |
| * have enough visibility to be considered as auto-detectable setters. |
| * If null, auto-detection is disabled |
| * |
| * @return Ordered Map with logical property name as key, and |
| * matching setter method as value. |
| */ |
| public abstract LinkedHashMap<String,AnnotatedMethod> findSetters(VisibilityChecker<?> vchecker); |
| } |