Class ObjectUtil


  • public class ObjectUtil
    extends Object
    Various methods that make it easier to read and write object properties using the propertyName, instead of having to look up the correct reader/writer methods manually first. All methods in this class are static by nature.
    • Constructor Summary

      Constructors 
      Constructor Description
      ObjectUtil()  
    • Constructor Detail

      • ObjectUtil

        public ObjectUtil()
    • Method Detail

      • getProperty

        public static Object getProperty​(Object object,
                                         String propertyName)
                                  throws UnexpectedLiquibaseException
        For a given object, try to find the appropriate reader method and return the value, if set for the object. If the property is currently not set for the object, an UnexpectedLiquibaseException run-time exception occurs.
        Parameters:
        object - the object to examine
        propertyName - the property name for which the value should be read
        Returns:
        the stored value
        Throws:
        UnexpectedLiquibaseException
      • getPropertyType

        public static Class getPropertyType​(Object object,
                                            String propertyName)
        Tried to determine the appropriate reader method for a given propertyName of a given object and, if found, returns the class of its return type.
        Parameters:
        object - the object to examine
        propertyName - the property name whose reading method should be searched
        Returns:
        the class name of the return type if the reading method is found, null if it is not found.
      • hasProperty

        public static boolean hasProperty​(Object object,
                                          String propertyName)
        Examines the given object's class and returns true if reader and writer methods both exist for the given property name.
        Parameters:
        object - the object for which the class should be examined
        propertyName - the property name to search
        Returns:
        true if both reader and writer methods exist
      • hasReadProperty

        public static boolean hasReadProperty​(Object object,
                                              String propertyName)
        Examines the given object's class and returns true if a reader method exists for the given property name.
        Parameters:
        object - the object for which the class should be examined
        propertyName - the property name to search
        Returns:
        true if a reader method exists
      • hasWriteProperty

        public static boolean hasWriteProperty​(Object object,
                                               String propertyName)
        Examines the given object's class and returns true if a writer method exists for the given property name.
        Parameters:
        object - the object for which the class should be examined
        propertyName - the property name to search
        Returns:
        true if a writer method exists
      • setProperty

        public static void setProperty​(Object object,
                                       String propertyName,
                                       String propertyValue)
        Tries to guess the "real" data type of propertyValue by the given propertyName, then sets the selected property of the given object to that value.
        Parameters:
        object - the object whose property should be set
        propertyName - name of the property to set
        propertyValue - new value of the property, as String
      • setProperty

        public static void setProperty​(Object object,
                                       String propertyName,
                                       Object propertyValue)
        Sets the selected property of the given object to propertyValue. A run-time exception will occur if the type of value is incompatible with the reader/writer method signatures of the given propertyName.
        Parameters:
        object - the object whose property should be set
        propertyName - name of the property to set
        propertyValue - new value of the property
      • defaultIfNull

        public static <T> T defaultIfNull​(T value,
                                          T defaultValue)
        Return the defaultValue if the passed value is null. Otherwise, return the original value.