# 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.