Class BeanFilter

java.lang.Object
org.apache.juneau.BeanFilter

public final class BeanFilter extends Object
Parent class for all bean filters.

Bean filters are used to control aspects of how beans are handled during serialization and parsing.

Bean filters are created by BeanFilter.Builder which is the programmatic equivalent to the @Bean annotation.

See Also:
  • Method Details

    • create

      public static <T> BeanFilter.Builder create(Class<T> beanClass)
      Create a new builder for this object.
      Type Parameters:
      T - The bean class being filtered.
      Parameters:
      beanClass - The bean class being filtered.
      Returns:
      A new builder.
    • getBeanClass

      public Class<?> getBeanClass()
      Returns the bean class that this filter applies to.
      Returns:
      The bean class that this filter applies to.
    • getTypeName

      public String getTypeName()
      Returns the dictionary name associated with this bean.
      Returns:
      The dictionary name associated with this bean, or null if no name is defined.
    • getBeanDictionary

      public Class<?>[] getBeanDictionary()
      Returns the bean dictionary defined on this bean.
      Returns:
      The bean dictionary defined on this bean, or null if no bean dictionary is defined.
    • getProperties

      Returns the set and order of names of properties associated with a bean class.
      Returns:
      The names of the properties associated with a bean class, or and empty set if all bean properties should be used.
    • getExcludeProperties

      Returns the list of properties to ignore on a bean.
      Returns:
      The names of the properties to ignore on a bean, or an empty set to not ignore any properties.
    • getReadOnlyProperties

      Returns the list of read-only properties on a bean.
      Returns:
      The names of the read-only properties on a bean, or an empty set to not have any read-only properties.
    • getWriteOnlyProperties

      Returns the list of write-only properties on a bean.
      Returns:
      The names of the write-only properties on a bean, or an empty set to not have any write-only properties.
    • isSortProperties

      public boolean isSortProperties()
      Returns true if the properties defined on this bean class should be ordered alphabetically.

      This method is only used when the getProperties() method returns null. Otherwise, the ordering of the properties in the returned value is used.

      Returns:
      true if bean properties should be sorted.
    • isFluentSetters

      public boolean isFluentSetters()
      Returns true if we should find fluent setters.
      Returns:
      true if fluent setters should be found.
    • getPropertyNamer

      Returns the PropertyNamer associated with the bean to tailor the names of bean properties.
      Returns:
      The property namer class, or null if no property namer is associated with this bean property.
    • getImplClass

      public Class<?> getImplClass()
      Returns the implementation class associated with this class.
      Returns:
      The implementation class associated with this class, or null if no implementation class is associated.
    • getInterfaceClass

      public Class<?> getInterfaceClass()
      Returns the interface class associated with this class.
      Returns:
      The interface class associated with this class, or null if no interface class is associated.
    • getStopClass

      public Class<?> getStopClass()
      Returns the stop class associated with this class.
      Returns:
      The stop class associated with this class, or null if no stop class is associated.
    • getExample

      public String getExample()
      Returns the example associated with this class.
      Returns:
      The example associated with this class, or null if no example is associated.
    • readProperty

      public Object readProperty(Object bean, String name, Object value)
      Calls the BeanInterceptor.readProperty(Object, String, Object) method on the registered property filters.
      Parameters:
      bean - The bean from which the property was read.
      name - The property name.
      value - The value just extracted from calling the bean getter.
      Returns:
      The value to serialize. Default is just to return the existing value.
    • writeProperty

      public Object writeProperty(Object bean, String name, Object value)
      Calls the BeanInterceptor.writeProperty(Object, String, Object) method on the registered property filters.
      Parameters:
      bean - The bean from which the property was read.
      name - The property name.
      value - The value just parsed.
      Returns:
      The value to serialize. Default is just to return the existing value.