Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.lang.management
Class MonitorInfo

    java.lang.Object
      java.lang.management.LockInfo
          java.lang.management.MonitorInfo

    public class MonitorInfo

extends LockInfo

Information about an object monitor lock. An object monitor is locked when entering a synchronization block or method on that object.

#### MXBean Mapping

`MonitorInfo` is mapped to a `CompositeData` with attributes as specified in the `from` method.

Since:
  1.6

Constructor Summary
`MonitorInfo(String className, int identityHashCode, int stackDepth, StackTraceElement stackFrame)` Construct a `MonitorInfo` object.

Method Summary
`static MonitorInfo` | `from(CompositeData cd)` Returns a `MonitorInfo` object represented by the given `CompositeData`.
`int` | `getLockedStackDepth()` Returns the depth in the stack trace where the object monitor was locked.
`StackTraceElement` | `getLockedStackFrame()` Returns the stack frame that locked the object monitor.

Methods inherited from class java.lang.management.LockInfo
`getClassName, getIdentityHashCode, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### MonitorInfo

    public MonitorInfo(String className,
                       int identityHashCode,
                       int stackDepth,
                       StackTraceElement stackFrame)

  Construct a `MonitorInfo` object.

  Parameters:
    `className` - the fully qualified name of the class of the lock object.
    `identityHashCode` - the `identity hash code` of the lock object.
    `stackDepth` - the depth in the stack trace where the object monitor was locked.
    `stackFrame` - the stack frame that locked the object monitor.
  Throws:
    `IllegalArgumentException` - if `stackDepth` ≥ 0 but `stackFrame` is `null`, or `stackDepth` < 0 but `stackFrame` is not `null`.

Method Detail

### getLockedStackDepth

    public int getLockedStackDepth()

  Returns the depth in the stack trace where the object monitor was locked. The depth is the index to the `StackTraceElement` array returned in the `ThreadInfo.getStackTrace()` method.

  Returns:
    the depth in the stack trace where the object monitor was locked, or a negative number if not available.

### getLockedStackFrame

    public StackTraceElement getLockedStackFrame()

  Returns the stack frame that locked the object monitor.

  Returns:
    `StackTraceElement` that locked the object monitor, or `null` if not available.

### from

    public static MonitorInfo from(CompositeData cd)

  Returns a `MonitorInfo` object represented by the given `CompositeData`. The given `CompositeData` must contain the following attributes as well as the attributes specified in the mapped type for the `LockInfo` class:

  > Attribute Name | Type
  > --- | ---
  > lockedStackFrame | `CompositeData as specified in the stackTrace attribute defined in the `ThreadInfo.from` method.`
  > lockedStackDepth | `java.lang.Integer`

  Parameters:
    `cd` - `CompositeData` representing a `MonitorInfo`
  Returns:
    a `MonitorInfo` object represented by `cd` if `cd` is not `null`; `null` otherwise.
  Throws:
    `IllegalArgumentException` - if `cd` does not represent a `MonitorInfo` with the attributes described above.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.