Package gw.util

Class GosuObjectUtil


  • public class GosuObjectUtil
    extends java.lang.Object

    This class is directly derived from org.apache.commons.lang.ObjectUtils and is intended to avoid dependencies on that project.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  GosuObjectUtil.Null
      Class used as a null placeholder where null has another meaning.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static GosuObjectUtil.Null NULL
      Singleton used as a null placeholder where null has another meaning.
    • Constructor Summary

      Constructors 
      Constructor Description
      GosuObjectUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.lang.StringBuffer appendIdentityToString​(java.lang.StringBuffer buffer, java.lang.Object object)
      Deprecated.
      The design of this method is bad - see LANG-360.
      static int arrayHashCode​(java.lang.Object array)
      Return the hash code for an array
      static java.lang.Object defaultIfNull​(java.lang.Object object, java.lang.Object defaultValue)
      Returns a default value if the object passed is null.
      static boolean equals​(java.lang.Object object1, java.lang.Object object2)
      Compares two objects for equality, where either one or both objects may be null.
      static int hashCode​(java.lang.Object obj)
      Gets the hash code of an object returning zero when the object is null.
      static java.lang.String identityToString​(java.lang.Object object)
      Gets the toString that would be produced by Object if a class did not override toString itself.
      static void identityToString​(java.lang.StringBuffer buffer, java.lang.Object object)
      Appends the toString that would be produced by Object if a class did not override toString itself.
      static boolean isJavaReferenceArray​(java.lang.Object o)  
      static java.lang.Object max​(java.lang.Comparable c1, java.lang.Comparable c2)
      Null safe comparison of Comparables.
      static java.lang.Object min​(java.lang.Comparable c1, java.lang.Comparable c2)
      Null safe comparison of Comparables.
      static java.lang.String toString​(java.lang.Object obj)
      Gets the toString of an Object returning an empty string ("") if null input.
      static java.lang.String toString​(java.lang.Object obj, java.lang.String nullStr)
      Gets the toString of an Object returning a specified text if null input.
      • Methods inherited from class java.lang.Object

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

      • NULL

        public static final GosuObjectUtil.Null NULL

        Singleton used as a null placeholder where null has another meaning.

        For example, in a HashMap the HashMap.get(java.lang.Object) method returns null if the Map contains null or if there is no matching key. The Null placeholder can be used to distinguish between these two cases.

        Another example is Hashtable, where null cannot be stored.

        This instance is Serializable.

    • Constructor Detail

      • GosuObjectUtil

        public GosuObjectUtil()
    • Method Detail

      • defaultIfNull

        public static java.lang.Object defaultIfNull​(java.lang.Object object,
                                                     java.lang.Object defaultValue)

        Returns a default value if the object passed is null.

         ObjectUtils.defaultIfNull(null, null)      = null
         ObjectUtils.defaultIfNull(null, "")        = ""
         ObjectUtils.defaultIfNull(null, "zz")      = "zz"
         ObjectUtils.defaultIfNull("abc", *)        = "abc"
         ObjectUtils.defaultIfNull(Boolean.TRUE, *) = Boolean.TRUE
         
        Parameters:
        object - the Object to test, may be null
        defaultValue - the default value to return, may be null
        Returns:
        object if it is not null, defaultValue otherwise
      • equals

        public static boolean equals​(java.lang.Object object1,
                                     java.lang.Object object2)

        Compares two objects for equality, where either one or both objects may be null.

         ObjectUtils.equals(null, null)                  = true
         ObjectUtils.equals(null, "")                    = false
         ObjectUtils.equals("", null)                    = false
         ObjectUtils.equals("", "")                      = true
         ObjectUtils.equals(Boolean.TRUE, null)          = false
         ObjectUtils.equals(Boolean.TRUE, "true")        = false
         ObjectUtils.equals(Boolean.TRUE, Boolean.TRUE)  = true
         ObjectUtils.equals(Boolean.TRUE, Boolean.FALSE) = false
         
        Parameters:
        object1 - the first object, may be null
        object2 - the second object, may be null
        Returns:
        true if the values of both objects are the same
      • hashCode

        public static int hashCode​(java.lang.Object obj)

        Gets the hash code of an object returning zero when the object is null.

         ObjectUtils.hashCode(null)   = 0
         ObjectUtils.hashCode(obj)    = obj.hashCode()
         
        Parameters:
        obj - the object to obtain the hash code of, may be null
        Returns:
        the hash code of the object, or zero if null
        Since:
        2.1
      • identityToString

        public static java.lang.String identityToString​(java.lang.Object object)

        Gets the toString that would be produced by Object if a class did not override toString itself. null will return null.

         ObjectUtils.identityToString(null)         = null
         ObjectUtils.identityToString("")           = "java.lang.String@1e23"
         ObjectUtils.identityToString(Boolean.TRUE) = "java.lang.Boolean@7fa"
         
        Parameters:
        object - the object to create a toString for, may be null
        Returns:
        the default toString text, or null if null passed in
      • isJavaReferenceArray

        public static boolean isJavaReferenceArray​(java.lang.Object o)
        Returns:
        true if the given object is a pure java object array, false otherwise
      • identityToString

        public static void identityToString​(java.lang.StringBuffer buffer,
                                            java.lang.Object object)

        Appends the toString that would be produced by Object if a class did not override toString itself. null will throw a NullPointerException for either of the two parameters.

         ObjectUtils.identityToString(buf, "")            = buf.append("java.lang.String@1e23"
         ObjectUtils.identityToString(buf, Boolean.TRUE)  = buf.append("java.lang.Boolean@7fa"
         ObjectUtils.identityToString(buf, Boolean.TRUE)  = buf.append("java.lang.Boolean@7fa")
         
        Parameters:
        buffer - the buffer to append to
        object - the object to create a toString for
        Since:
        2.4
      • appendIdentityToString

        public static java.lang.StringBuffer appendIdentityToString​(java.lang.StringBuffer buffer,
                                                                    java.lang.Object object)
        Deprecated.
        The design of this method is bad - see LANG-360. Instead, use identityToString(StringBuffer, Object).

        Appends the toString that would be produced by Object if a class did not override toString itself. null will return null.

         ObjectUtils.appendIdentityToString(*, null)            = null
         ObjectUtils.appendIdentityToString(null, "")           = "java.lang.String@1e23"
         ObjectUtils.appendIdentityToString(null, Boolean.TRUE) = "java.lang.Boolean@7fa"
         ObjectUtils.appendIdentityToString(buf, Boolean.TRUE)  = buf.append("java.lang.Boolean@7fa")
         
        Parameters:
        buffer - the buffer to append to, may be null
        object - the object to create a toString for, may be null
        Returns:
        the default toString text, or null if null passed in
        Since:
        2.0
      • toString

        public static java.lang.String toString​(java.lang.Object obj)

        Gets the toString of an Object returning an empty string ("") if null input.

         ObjectUtils.toString(null)         = ""
         ObjectUtils.toString("")           = ""
         ObjectUtils.toString("bat")        = "bat"
         ObjectUtils.toString(Boolean.TRUE) = "true"
         
        Parameters:
        obj - the Object to toString, may be null
        Returns:
        the passed in Object's toString, or nullStr if null input
        Since:
        2.0
        See Also:
        String.valueOf(Object)
      • toString

        public static java.lang.String toString​(java.lang.Object obj,
                                                java.lang.String nullStr)

        Gets the toString of an Object returning a specified text if null input.

         ObjectUtils.toString(null, null)           = null
         ObjectUtils.toString(null, "null")         = "null"
         ObjectUtils.toString("", "null")           = ""
         ObjectUtils.toString("bat", "null")        = "bat"
         ObjectUtils.toString(Boolean.TRUE, "null") = "true"
         
        Parameters:
        obj - the Object to toString, may be null
        nullStr - the String to return if null input, may be null
        Returns:
        the passed in Object's toString, or nullStr if null input
        Since:
        2.0
        See Also:
        String.valueOf(Object)
      • min

        public static java.lang.Object min​(java.lang.Comparable c1,
                                           java.lang.Comparable c2)
        Null safe comparison of Comparables.
        Parameters:
        c1 - the first comparable, may be null
        c2 - the second comparable, may be null
        Returns:
        • If both objects are non-null and unequal, the lesser object.
        • If both objects are non-null and equal, c1.
        • If one of the comparables is null, the non-null object.
        • If both the comparables are null, null is returned.
      • max

        public static java.lang.Object max​(java.lang.Comparable c1,
                                           java.lang.Comparable c2)
        Null safe comparison of Comparables.
        Parameters:
        c1 - the first comparable, may be null
        c2 - the second comparable, may be null
        Returns:
        • If both objects are non-null and unequal, the greater object.
        • If both objects are non-null and equal, c1.
        • If one of the comparables is null, the non-null object.
        • If both the comparables are null, null is returned.
      • arrayHashCode

        public static int arrayHashCode​(java.lang.Object array)
        Return the hash code for an array
        Parameters:
        array - the array to compute the hash code.