# Interface PathSearchingVirtualMachine

All Superinterfaces:
  `Mirror, VirtualMachine`

public interface PathSearchingVirtualMachine extends VirtualMachine
A virtual machine which searches for classes through paths

Since:
  1.3

- ## Field Summary

  ### Fields declared in interface VirtualMachine

  `TRACE_ALL, TRACE_EVENTS, TRACE_NONE, TRACE_OBJREFS, TRACE_RECEIVES, TRACE_REFTYPES, TRACE_SENDS`
  Modifier and Type
  Field
  Description
  `static final int`
  `TRACE_ALL`
  All tracing is enabled.
  `static final int`
  `TRACE_EVENTS`
  Tracing enabled for internal event handling.
  `static final int`
  `TRACE_NONE`
  All tracing is disabled.
  `static final int`
  `TRACE_OBJREFS`
  Tracing enabled for internal management of object references.
  `static final int`
  `TRACE_RECEIVES`
  Tracing enabled for JDWP packets received from target VM.
  `static final int`
  `TRACE_REFTYPES`
  Tracing enabled for internal management of reference types.
  `static final int`
  `TRACE_SENDS`
  Tracing enabled for JDWP packets sent to target VM.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `baseDirectory()`
  Get the base directory used for path searching.
  `List<String>`
  `bootClassPath()`
  Get the boot class path for this virtual machine.
  `List<String>`
  `classPath()`
  Get the class path for this virtual machine.

  ### Methods declared in interface Mirror

  `toString, virtualMachine`
  Modifier and Type
  Method
  Description
  `String`
  `toString()`
  Returns a String describing this mirror
  `VirtualMachine`
  `virtualMachine()`
  Gets the VirtualMachine to which this Mirror belongs.

  ### Methods declared in interface VirtualMachine

  `allClasses, allModules, allThreads, canAddMethod, canBeModified, canForceEarlyReturn, canGetBytecodes, canGetClassFileVersion, canGetConstantPool, canGetCurrentContendedMonitor, canGetInstanceInfo, canGetMethodReturnValues, canGetModuleInfo, canGetMonitorFrameInfo, canGetMonitorInfo, canGetOwnedMonitorInfo, canGetSourceDebugExtension, canGetSyntheticAttribute, canPopFrames, canRedefineClasses, canRequestMonitorEvents, canRequestVMDeathEvent, canUnrestrictedlyRedefineClasses, canUseInstanceFilters, canUseSourceNameFilters, canWatchFieldAccess, canWatchFieldModification, classesByName, description, dispose, eventQueue, eventRequestManager, exit, getDefaultStratum, instanceCounts, mirrorOf, mirrorOf, mirrorOf, mirrorOf, mirrorOf, mirrorOf, mirrorOf, mirrorOf, mirrorOf, mirrorOfVoid, name, process, redefineClasses, resume, setDebugTraceMode, setDefaultStratum, suspend, topLevelThreadGroups, version`
  Modifier and Type
  Method
  Description
  `List<ReferenceType>`
  `allClasses()`
  Returns all loaded types in the target VM.
  `default List<ModuleReference>`
  `allModules()`
  Returns all modules.
  `List<ThreadReference>`
  `allThreads()`
  Returns a list of the live threads in the target VM.
  `boolean`
  `canAddMethod()`
  Deprecated.
  A JVM TI based JDWP back-end will never set this capability to true.
  `boolean`
  `canBeModified()`
  Determines if the target VM is a read-only VM.
  `boolean`
  `canForceEarlyReturn()`
  Determines if the target VM supports the forcing of a method to return early.
  `boolean`
  `canGetBytecodes()`
  Determines if the target VM supports the retrieval of a method's bytecodes.
  `boolean`
  `canGetClassFileVersion()`
  Determines if the target VM supports reading class file major and minor versions.
  `boolean`
  `canGetConstantPool()`
  Determines if the target VM supports getting constant pool information of a class.
  `boolean`
  `canGetCurrentContendedMonitor()`
  Determines if the target VM supports the retrieval of the monitor for which a thread is currently waiting.
  `boolean`
  `canGetInstanceInfo()`
  Determines if the target VM supports the accessing of class instances, instance counts, and referring objects.
  `boolean`
  `canGetMethodReturnValues()`
  Determines if the target VM supports the inclusion of return values in `MethodExitEvent`s.
  `default boolean`
  `canGetModuleInfo()`
  Determines if the target VM supports getting information about modules.
  `boolean`
  `canGetMonitorFrameInfo()`
  Determines if the target VM supports getting which frame has acquired a monitor.
  `boolean`
  `canGetMonitorInfo()`
  Determines if the target VM supports the retrieval of the monitor information for an object.
  `boolean`
  `canGetOwnedMonitorInfo()`
  Determines if the target VM supports the retrieval of the monitors owned by a thread.
  `boolean`
  `canGetSourceDebugExtension()`
  Determines if the target VM supports getting the source debug extension.
  `boolean`
  `canGetSyntheticAttribute()`
  Determines if the target VM supports the query of the synthetic attribute of a method or field.
  `boolean`
  `canPopFrames()`
  Determines if the target VM supports popping frames of a threads stack.
  `boolean`
  `canRedefineClasses()`
  Determines if the target VM supports any level of class redefinition.
  `boolean`
  `canRequestMonitorEvents()`
  Determines if the target VM supports the creation of `MonitorContendedEnterRequest`s.
  `boolean`
  `canRequestVMDeathEvent()`
  Determines if the target VM supports the creation of `VMDeathRequest`s.
  `boolean`
  `canUnrestrictedlyRedefineClasses()`
  Deprecated.
  A JVM TI based JDWP back-end will never set this capability to true.
  `boolean`
  `canUseInstanceFilters()`
  Determines if the target VM supports filtering events by specific instance object.
  `boolean`
  `canUseSourceNameFilters()`
  Determines if the target VM supports the filtering of class prepare events by source name.
  `boolean`
  `canWatchFieldAccess()`
  Determines if the target VM supports watchpoints for field access.
  `boolean`
  `canWatchFieldModification()`
  Determines if the target VM supports watchpoints for field modification.
  `List<ReferenceType>`
  `classesByName(String className)`
  Returns the loaded reference types that match a given name.
  `String`
  `description()`
  Returns text information on the target VM and the debugger support that mirrors it.
  `void`
  `dispose()`
  Invalidates this virtual machine mirror.
  `EventQueue`
  `eventQueue()`
  Returns the event queue for this virtual machine.
  `EventRequestManager`
  `eventRequestManager()`
  Returns the event request manager for this virtual machine.
  `void`
  `exit(int exitCode)`
  Causes the mirrored VM to terminate with the given error code.
  `String`
  `getDefaultStratum()`
  Return this VM's default stratum.
  `long[]`
  `instanceCounts(List<? extends ReferenceType> refTypes)`
  Returns the number of instances of each ReferenceType in the 'refTypes' list.
  `BooleanValue`
  `mirrorOf(boolean value)`
  Creates a `BooleanValue` for the given value.
  `ByteValue`
  `mirrorOf(byte value)`
  Creates a `ByteValue` for the given value.
  `CharValue`
  `mirrorOf(char value)`
  Creates a `CharValue` for the given value.
  `DoubleValue`
  `mirrorOf(double value)`
  Creates a `DoubleValue` for the given value.
  `FloatValue`
  `mirrorOf(float value)`
  Creates a `FloatValue` for the given value.
  `IntegerValue`
  `mirrorOf(int value)`
  Creates an `IntegerValue` for the given value.
  `LongValue`
  `mirrorOf(long value)`
  Creates a `LongValue` for the given value.
  `ShortValue`
  `mirrorOf(short value)`
  Creates a `ShortValue` for the given value.
  `StringReference`
  `mirrorOf(String value)`
  Creates a string in this virtual machine.
  `VoidValue`
  `mirrorOfVoid()`
  Creates a `VoidValue`.
  `String`
  `name()`
  Returns the name of the target VM as reported by the property `java.vm.name`.
  `Process`
  `process()`
  Returns the `Process` object for this virtual machine if launched by a `LaunchingConnector`
  `void`
  `redefineClasses(Map<? extends ReferenceType, byte[]> classToBytes)`
  All classes given are redefined according to the definitions supplied.
  `void`
  `resume()`
  Continues the execution of the application running in this virtual machine.
  `void`
  `setDebugTraceMode(int traceFlags)`
  Traces the activities performed by the com.sun.jdi implementation.
  `void`
  `setDefaultStratum(String stratum)`
  Set this VM's default stratum (see `Location` for a discussion of strata).
  `void`
  `suspend()`
  Suspends the execution of the application running in this virtual machine.
  `List<ThreadGroupReference>`
  `topLevelThreadGroups()`
  Returns each thread group which does not have a parent.
  `String`
  `version()`
  Returns the version of the Java Runtime Environment in the target VM as reported by the property `java.version`.

- ## Method Details

  - ### classPath

    List<String> classPath()
    Get the class path for this virtual machine.
    Returns:
      `List` of components of the classpath, each represented by a `String`.

  - ### bootClassPath

    List<String> bootClassPath()
    Get the boot class path for this virtual machine.
    Returns:
      `List` of components of the boot class path, each represented by a `String`.

  - ### baseDirectory

    String baseDirectory()
    Get the base directory used for path searching. Relative directories in the class path and boot class path can be resolved through this directory name.
    Returns:
      the base directory.