Class BeanUtil

java.lang.Object
org.nuiton.util.beans.BeanUtil

public class BeanUtil
extends java.lang.Object
Usefull methods around the PropertyChangeListener.
Since:
1.4.1
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String ADD_PROPERTY_CHANGE_LISTENER  
    static com.google.common.base.Predicate<java.beans.PropertyDescriptor> IS_READ_AND_WRITE_DESCRIPTOR
    Is a property is readable and writable ?
    static com.google.common.base.Predicate<java.beans.PropertyDescriptor> IS_READ_DESCRIPTOR
    Is a property is readable ?
    static com.google.common.base.Predicate<java.beans.PropertyDescriptor> IS_WRITE_DESCRIPTOR
    Is a property is writable ?
    static java.lang.String REMOVE_PROPERTY_CHANGE_LISTENER  
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected BeanUtil()  
  • Method Summary

    Modifier and Type Method Description
    static void addPropertyChangeListener​(java.beans.PropertyChangeListener listener, java.lang.Object bean)
    Add the given listener to the given bean using the normalized method named addPropertyChangeListener.
    static java.util.Set<java.beans.PropertyDescriptor> getDescriptors​(java.lang.Class<?> beanType, com.google.common.base.Predicate<java.beans.PropertyDescriptor> predicate)
    Scan the given type and obtain PropertyDescriptor given the (optional) predicate (except the class property of any java object).
    protected static void getDescriptors​(java.lang.Class<?> beanType, com.google.common.base.Predicate<java.beans.PropertyDescriptor> predicate, java.util.Map<java.lang.String,​java.beans.PropertyDescriptor> result, java.util.Set<java.lang.Class<?>> exploredTypes)  
    static java.lang.reflect.Method getMutator​(java.lang.Object bean, java.lang.String property)  
    static java.util.Set<java.lang.String> getReadableProperties​(java.lang.Class<?> beanType)
    Obtains all readable properties from a given type.
    protected static void getReadableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result)  
    protected static void getReadableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result, java.util.Set<java.lang.Class<?>> exploredTypes)  
    static java.lang.Class<?> getReadableType​(java.lang.Class<?> beanType, java.lang.String propertyName)  
    static java.util.Set<java.lang.String> getWriteableProperties​(java.lang.Class<?> beanType)
    Obtains all writeable properties from a given type.
    protected static void getWriteableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result)  
    protected static void getWriteableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result, java.util.Set<java.lang.Class<?>> exploredTypes)  
    static boolean isJavaBeanCompiliant​(java.lang.Class<?> type)
    Test if the given type is JavaBean compiliant, says that it has two public methods : addPropertyChangeListener removePropertyChangeListener
    static boolean isNestedReadableProperty​(java.lang.Class<?> beanType, java.lang.String propertyName)
    Obtains all readable properties from a given type.
    static void removePropertyChangeListener​(java.beans.PropertyChangeListener listener, java.lang.Object bean)
    Remove the given listener from the given bean using the normalized method named removePropertyChangeListener.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • isJavaBeanCompiliant

      public static boolean isJavaBeanCompiliant​(java.lang.Class<?> type)
      Test if the given type is JavaBean compiliant, says that it has two public methods :
      • addPropertyChangeListener
      • removePropertyChangeListener
      Parameters:
      type - type to test
      Returns:
      true if type is Javabean compiliant, false otherwise
      Since:
      2.0
    • addPropertyChangeListener

      public static void addPropertyChangeListener​(java.beans.PropertyChangeListener listener, java.lang.Object bean) throws java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, java.lang.IllegalAccessException
      Add the given listener to the given bean using the normalized method named addPropertyChangeListener.
      Parameters:
      listener - the listener to add
      bean - the bean on which the listener is added
      Throws:
      java.lang.reflect.InvocationTargetException - if could not invoke the method addPropertyChangeListener
      java.lang.NoSuchMethodException - if method addPropertyChangeListener does not exist on given bean
      java.lang.IllegalAccessException - if an illegal access occurs when invoking the method addPropertyChangeListener
    • removePropertyChangeListener

      public static void removePropertyChangeListener​(java.beans.PropertyChangeListener listener, java.lang.Object bean) throws java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, java.lang.IllegalAccessException
      Remove the given listener from the given bean using the normalized method named removePropertyChangeListener.
      Parameters:
      listener - the listener to remove
      bean - the bean on which the listener is removed
      Throws:
      java.lang.reflect.InvocationTargetException - if could not invoke the method removePropertyChangeListener
      java.lang.NoSuchMethodException - if method removePropertyChangeListener does not exist on given bean
      java.lang.IllegalAccessException - if an illegal access occurs when invoking the method removePropertyChangeListener
    • getReadableProperties

      public static java.util.Set<java.lang.String> getReadableProperties​(java.lang.Class<?> beanType)
      Obtains all readable properties from a given type.
      Parameters:
      beanType - the type to seek
      Returns:
      the set of all readable properties for the given type
      Since:
      2.0
    • getWriteableProperties

      public static java.util.Set<java.lang.String> getWriteableProperties​(java.lang.Class<?> beanType)
      Obtains all writeable properties from a given type.
      Parameters:
      beanType - the type to seek
      Returns:
      the set of all writeable properties for the given type
      Since:
      2.0
    • isNestedReadableProperty

      public static boolean isNestedReadableProperty​(java.lang.Class<?> beanType, java.lang.String propertyName)
      Obtains all readable properties from a given type.
      Parameters:
      beanType - the type to seek
      propertyName - FIXME
      Returns:
      the set of all readable properties for the given type
      Since:
      2.0
    • getReadableType

      public static java.lang.Class<?> getReadableType​(java.lang.Class<?> beanType, java.lang.String propertyName)
    • getDescriptors

      public static java.util.Set<java.beans.PropertyDescriptor> getDescriptors​(java.lang.Class<?> beanType, com.google.common.base.Predicate<java.beans.PropertyDescriptor> predicate)
      Scan the given type and obtain PropertyDescriptor given the (optional) predicate (except the class property of any java object). Note: If no predicate is given, then all descriptors are returned.
      Parameters:
      beanType - the bean type to scan
      predicate - the optional predicate to keep descriptor
      Returns:
      set of all matching descriptors
      Since:
      2.6.11
    • getMutator

      public static java.lang.reflect.Method getMutator​(java.lang.Object bean, java.lang.String property)
    • getDescriptors

      protected static void getDescriptors​(java.lang.Class<?> beanType, com.google.common.base.Predicate<java.beans.PropertyDescriptor> predicate, java.util.Map<java.lang.String,​java.beans.PropertyDescriptor> result, java.util.Set<java.lang.Class<?>> exploredTypes)
    • getReadableProperties

      protected static void getReadableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result, java.util.Set<java.lang.Class<?>> exploredTypes)
    • getReadableProperties

      protected static void getReadableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result)
    • getWriteableProperties

      protected static void getWriteableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result, java.util.Set<java.lang.Class<?>> exploredTypes)
    • getWriteableProperties

      protected static void getWriteableProperties​(java.lang.Class<?> beanType, java.util.Set<java.lang.String> result)