Class VirtualMachineDescriptor

java.lang.Object
com.sun.tools.attach.VirtualMachineDescriptor

public class VirtualMachineDescriptor extends Object
Describes a Java virtual machine.

A VirtualMachineDescriptor is a container class used to describe a Java virtual machine. It encapsulates an identifier that identifies a target virtual machine, and a reference to the AttachProvider that should be used when attempting to attach to the virtual machine. The identifier is implementation-dependent but is typically the process identifier (or pid) environments where each Java virtual machine runs in its own operating system process.

A VirtualMachineDescriptor also has a displayName. The display name is typically a human readable string that a tool might display to a user. For example, a tool that shows a list of Java virtual machines running on a system might use the display name rather than the identifier. A VirtualMachineDescriptor may be created without a display name. In that case the identifier is used as the display name.

VirtualMachineDescriptor instances are typically created by invoking the VirtualMachine.list() method. This returns the complete list of descriptors to describe the Java virtual machines known to all installed attach providers.

Since:
1.6
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a virtual machine descriptor from the given components.
    Creates a virtual machine descriptor from the given components.
  • Method Summary

    Modifier and Type
    Method
    Description
    Return the display name component of this descriptor.
    boolean
    Tests this VirtualMachineDescriptor for equality with another object.
    int
    Returns a hash-code value for this VirtualMachineDescriptor.
    id()
    Return the identifier component of this descriptor.
    Return the AttachProvider that this descriptor references.
    Returns the string representation of the VirtualMachineDescriptor.

    Methods declared in class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • VirtualMachineDescriptor

      public VirtualMachineDescriptor(AttachProvider provider, String id, String displayName)
      Creates a virtual machine descriptor from the given components.
      Parameters:
      provider - The AttachProvider to attach to the Java virtual machine.
      id - The virtual machine identifier.
      displayName - The display name.
      Throws:
      NullPointerException - If any of the arguments are null
    • VirtualMachineDescriptor

      public VirtualMachineDescriptor(AttachProvider provider, String id)
      Creates a virtual machine descriptor from the given components.

      This convenience constructor works as if by invoking the three-argument constructor as follows:

      new VirtualMachineDescriptor(provider,  id,  id);

      That is, it creates a virtual machine descriptor such that the display name is the same as the virtual machine identifier.

      Parameters:
      provider - The AttachProvider to attach to the Java virtual machine.
      id - The virtual machine identifier.
      Throws:
      NullPointerException - If provider or id is null.
  • Method Details

    • provider

      public AttachProvider provider()
      Return the AttachProvider that this descriptor references.
      Returns:
      The AttachProvider that this descriptor references.
    • id

      public String id()
      Return the identifier component of this descriptor.
      Returns:
      The identifier component of this descriptor.
    • displayName

      public String displayName()
      Return the display name component of this descriptor.
      Returns:
      The display name component of this descriptor.
    • hashCode

      public int hashCode()
      Returns a hash-code value for this VirtualMachineDescriptor. The hash code is based upon the descriptor's components, and satisfies the general contract of the Object.hashCode method.
      Overrides:
      hashCode in class Object
      Returns:
      A hash-code value for this descriptor.
      See Also:
    • equals

      public boolean equals(Object ob)
      Tests this VirtualMachineDescriptor for equality with another object.

      If the given object is not a VirtualMachineDescriptor then this method returns false. For two VirtualMachineDescriptors to be considered equal requires that they both reference the same provider, and their identifiers are equal.

      This method satisfies the general contract of the Object.equals method.

      Overrides:
      equals in class Object
      Parameters:
      ob - The object to which this object is to be compared
      Returns:
      true if, and only if, the given object is a VirtualMachineDescriptor that is equal to this VirtualMachineDescriptor.
      See Also:
    • toString

      public String toString()
      Returns the string representation of the VirtualMachineDescriptor.
      Overrides:
      toString in class Object
      Returns:
      String a printable representation for the receiver.