Mirror (Java Debug Interface )
Keywords: com.sun.jdi.Mirror interface
Date: 2018-07-01

com.sun.jdi

## Interface Mirror

- All Known Subinterfaces:
    AccessWatchpointEvent, AccessWatchpointRequest, ArrayReference, ArrayType, BooleanType, BooleanValue, BreakpointEvent, BreakpointRequest, ByteType, ByteValue, CharType, CharValue, ClassLoaderReference, ClassObjectReference, ClassPrepareEvent, ClassPrepareRequest, ClassType, ClassUnloadEvent, ClassUnloadRequest, DoubleType, DoubleValue, Event, EventQueue, EventRequest, EventRequestManager, EventSet, ExceptionEvent, ExceptionRequest, Field, FloatType, FloatValue, IntegerType, IntegerValue, InterfaceType, LocalVariable, LocatableEvent, Location, LongType, LongValue, Method, MethodEntryEvent, MethodEntryRequest, MethodExitEvent, MethodExitRequest, ModificationWatchpointEvent, ModificationWatchpointRequest, MonitorContendedEnteredEvent, MonitorContendedEnteredRequest, MonitorContendedEnterEvent, MonitorContendedEnterRequest, MonitorInfo, MonitorWaitedEvent, MonitorWaitedRequest, MonitorWaitEvent, MonitorWaitRequest, ObjectReference, PathSearchingVirtualMachine, PrimitiveType, PrimitiveValue, ReferenceType, ShortType, ShortValue, StackFrame, StepEvent, StepRequest, StringReference, ThreadDeathEvent, ThreadDeathRequest, ThreadGroupReference, ThreadReference, ThreadStartEvent, ThreadStartRequest, Type, TypeComponent, Value, VirtualMachine, VMDeathEvent, VMDeathRequest, VMDisconnectEvent, VMStartEvent, VoidType, VoidValue, WatchpointEvent, WatchpointRequest

      @Exported
      public interface Mirror

  A proxy used by a debugger to examine or manipulate some entity in another virtual machine. Mirror is the root of the interface hierarchy for this package. Mirrors can be proxies for objects in the target VM (`ObjectReference`), primitive values (for example, `IntegerValue`), types (for example, `ReferenceType`), dynamic application state (for example, `StackFrame`), and even debugger-specific constructs (for example, `BreakpointRequest`). The `VirtualMachine` itself is also considered a mirror, representing the composite state of the target VM.

  There is no guarantee that a particular entity in the target VM will map to a single instance of Mirror. Implementors are free to decide whether a single mirror will be used for some or all mirrors. Clients of this interface should always use `equals` to compare two mirrors for equality.

  Any method on a `Mirror` that takes a `Mirror` as an parameter directly or indirectly (e.g., as a element in a `List`) will throw `VMMismatchException` if the mirrors are from different virtual machines.

  Since:
    1.3
  See Also:
    `VirtualMachine`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `toString()` Returns a String describing this mirror
    `VirtualMachine` | `virtualMachine()` Gets the VirtualMachine to which this Mirror belongs.

- - ### Method Detail

    - #### virtualMachine

          VirtualMachine virtualMachine()

      Gets the VirtualMachine to which this Mirror belongs. A Mirror must be associated with a VirtualMachine to have any meaning.
      Returns:
        the `VirtualMachine` for which this mirror is a proxy.

    - #### toString

          String toString()

      Returns a String describing this mirror
      Overrides:
        `toString` in class `Object`
      Returns:
        a string describing this mirror.

Copyright © 1999, 2018, Oracle and/or its affiliates. All rights reserved.