Class LockInfo

  • Direct Known Subclasses:
    MonitorInfo

    public class LockInfo
    extends Object
    This class represents information about locked objects.
    Since:
    1.6
    • Constructor Detail

      • LockInfo

        public LockInfo​(String className,
                        int identityHashCode)
        Creates a new LockInfo instance.
        Parameters:
        className - the name (including the package prefix) of the associated lock object's class
        identityHashCode - the value of the associated lock object's identity hash code. This amounts to the result of calling System.identityHashCode(Object) with the lock object as the sole argument.
        Throws:
        NullPointerException - if className is null
    • Method Detail

      • getClassName

        public String getClassName()
        Returns the name of the lock object's class in fully qualified form (i.e. including the package prefix).
        Returns:
        the associated lock object's class name
      • getIdentityHashCode

        public int getIdentityHashCode()
        Returns the value of the associated lock object's identity hash code
        Returns:
        the identity hash code of the lock object
      • from

        public static LockInfo from​(CompositeData compositeData)
        Returns a LockInfo object represented by the given CompositeData. The given CompositeData must contain the following attributes:

        The attributes and the types the given CompositeData contains
        Attribute Name Type
        className java.lang.String
        identityHashCode java.lang.Integer
        Parameters:
        compositeData - CompositeData representing a LockInfo
        Returns:
        a LockInfo object represented by compositeData if compositeData is not null; null otherwise.
        Throws:
        IllegalArgumentException - if compositeData does not represent a LockInfo with the attributes described above.
        Since:
        1.8
      • toString

        public String toString()
        Provides callers with a string value that represents the associated lock. The string will hold both the name of the lock object's class and it's identity hash code expressed as an unsigned hexadecimal. i.e.

        getClassName()  + @ + Integer.toHexString(getIdentityHashCode())

        Overrides:
        toString in class Object
        Returns:
        a string containing the key details of the lock