|
|||||||||
| Home >> All >> org >> eclipse >> jdi >> [ internal overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.eclipse.jdi.internal
Class ObjectReferenceImpl

java.lang.Objectorg.eclipse.jdi.internal.MirrorImpl
org.eclipse.jdi.internal.ValueImpl
org.eclipse.jdi.internal.ObjectReferenceImpl
- All Implemented Interfaces:
- com.sun.jdi.Mirror, com.sun.jdi.ObjectReference, com.sun.jdi.Value
- Direct Known Subclasses:
- ArrayReferenceImpl, ClassLoaderReferenceImpl, ClassObjectReferenceImpl, StringReferenceImpl, ThreadGroupReferenceImpl, ThreadReferenceImpl
- public class ObjectReferenceImpl
- extends ValueImpl
- implements com.sun.jdi.ObjectReference
- extends ValueImpl
this class implements the corresponding interfaces declared by the JDI specification. See the com.sun.jdi package for more information.
| Nested Class Summary | |
private class |
ObjectReferenceImpl.MonitorInfo
Inner class used to return monitor info. |
| Field Summary | |
private org.eclipse.jdi.internal.jdwp.JdwpObjectID |
fObjectID
ObjectID of object that corresponds to this reference. |
private com.sun.jdi.ReferenceType |
fReferenceType
Cached reference type. |
static byte |
tag
JDWP Tag. |
| Fields inherited from class org.eclipse.jdi.internal.MirrorImpl |
fDescription, fVerboseWriter |
| Fields inherited from interface com.sun.jdi.ObjectReference |
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED |
| Constructor Summary | |
ObjectReferenceImpl(java.lang.String description,
VirtualMachineImpl vmImpl,
org.eclipse.jdi.internal.jdwp.JdwpObjectID objectID)
Creates new ObjectReferenceImpl. |
|
ObjectReferenceImpl(VirtualMachineImpl vmImpl,
org.eclipse.jdi.internal.jdwp.JdwpObjectID objectID)
Creates new ObjectReferenceImpl. |
|
| Methods inherited from class org.eclipse.jdi.internal.ValueImpl |
checkPrimitiveValue, checkValue, checkValues, readWithoutTag, readWithTag, writeNull, writeNullWithTag, writeWithTag |
| Methods inherited from class org.eclipse.jdi.internal.MirrorImpl |
checkVM, defaultIOExceptionHandler, defaultReplyErrorHandler, disconnectVM, getCommandVM, handledJdwpEventSet, handledJdwpRequest, initJdwpEventSet, initJdwpRequest, readBoolean, readByte, readByte, readByte, readByteArray, readChar, readDouble, readFloat, readInt, readInt, readInt, readLong, readShort, readShort, readShort, readString, requestVM, requestVM, requestVM, requestVM, requestVM, verboseWriter, virtualMachine, virtualMachineImpl, writeBoolean, writeByte, writeByte, writeByte, writeChar, writeDouble, writeFloat, writeInt, writeInt, writeInt, writeLong, writeShort, writeShort, writeShort, writeString, writeVerboseCommandPacketHeader |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.sun.jdi.Mirror |
virtualMachine |
| Field Detail |
tag
public static final byte tag
- JDWP Tag.
- See Also:
- Constant Field Values
fObjectID
private org.eclipse.jdi.internal.jdwp.JdwpObjectID fObjectID
- ObjectID of object that corresponds to this reference.
fReferenceType
private com.sun.jdi.ReferenceType fReferenceType
- Cached reference type. This value is safe for caching because
the type of an object never changes.
| Constructor Detail |
ObjectReferenceImpl
public ObjectReferenceImpl(VirtualMachineImpl vmImpl, org.eclipse.jdi.internal.jdwp.JdwpObjectID objectID)
- Creates new ObjectReferenceImpl.
ObjectReferenceImpl
public ObjectReferenceImpl(java.lang.String description, VirtualMachineImpl vmImpl, org.eclipse.jdi.internal.jdwp.JdwpObjectID objectID)
- Creates new ObjectReferenceImpl.
| Method Detail |
getTag
public byte getTag()
getObjectID
public org.eclipse.jdi.internal.jdwp.JdwpObjectID getObjectID()
disableCollection
public void disableCollection()
- Prevents garbage collection for this object.
- Specified by:
disableCollectionin interfacecom.sun.jdi.ObjectReference
enableCollection
public void enableCollection()
- Permits garbage collection for this object.
- Specified by:
enableCollectionin interfacecom.sun.jdi.ObjectReference
monitorInfo
private ObjectReferenceImpl.MonitorInfo monitorInfo() throws com.sun.jdi.IncompatibleThreadStateException
owningThread
public com.sun.jdi.ThreadReference owningThread() throws com.sun.jdi.IncompatibleThreadStateException
- Specified by:
owningThreadin interfacecom.sun.jdi.ObjectReference
entryCount
public int entryCount()
throws com.sun.jdi.IncompatibleThreadStateException
- Specified by:
entryCountin interfacecom.sun.jdi.ObjectReference
waitingThreads
public java.util.List waitingThreads() throws com.sun.jdi.IncompatibleThreadStateException
- Specified by:
waitingThreadsin interfacecom.sun.jdi.ObjectReference
getValue
public com.sun.jdi.Value getValue(com.sun.jdi.Field field)
- Specified by:
getValuein interfacecom.sun.jdi.ObjectReference
getValues
public java.util.Map getValues(java.util.List allFields)
- Specified by:
getValuesin interfacecom.sun.jdi.ObjectReference
hashCode
public int hashCode()
- Description copied from class:
java.lang.Object - Get a value that represents this Object, as uniquely as
possible within the confines of an int.
There are some requirements on this method which subclasses must follow:
- Semantic equality implies identical hashcodes. In other
words, if
a.equals(b)is true, thena.hashCode() == b.hashCode()must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal. - It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.
Notice that since
hashCodeis used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.The default implementation returns
System.identityHashCode(this)- Specified by:
hashCodein interfacecom.sun.jdi.ObjectReference
- Semantic equality implies identical hashcodes. In other
words, if
equals
public boolean equals(java.lang.Object object)
- Description copied from class:
java.lang.Object - Determine whether this Object is semantically equal
to another Object.
There are some fairly strict requirements on this method which subclasses must follow:
- It must be transitive. If
a.equals(b)andb.equals(c), thena.equals(c)must be true as well. - It must be symmetric.
a.equals(b)andb.equals(a)must have the same value. - It must be reflexive.
a.equals(a)must always be true. - It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
a.equals(null)must be false.- It must be consistent with hashCode(). That is,
a.equals(b)must implya.hashCode() == b.hashCode(). The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.
This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for
a.equals(b)to be true even thougha.getClass() != b.getClass(). Also, it is typical to never cause a java.lang.NullPointerException.In general, the Collections API (
java.util) use theequalsmethod rather than the==operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.The default implementation returns
this == o.- Specified by:
equalsin interfacecom.sun.jdi.ObjectReference
- It must be transitive. If
optionsToJdwpOptions
private int optionsToJdwpOptions(int options)
invokeMethod
public com.sun.jdi.Value invokeMethod(com.sun.jdi.ThreadReference thread, com.sun.jdi.Method method, java.util.List arguments, int options) throws com.sun.jdi.InvalidTypeException, com.sun.jdi.ClassNotLoadedException, com.sun.jdi.IncompatibleThreadStateException, com.sun.jdi.InvocationException
- Invokes the specified static Method in the target VM.
- Specified by:
invokeMethodin interfacecom.sun.jdi.ObjectReference
isAValidMethod
private boolean isAValidMethod(com.sun.jdi.Method method)
isCollected
public boolean isCollected()
- Specified by:
isCollectedin interfacecom.sun.jdi.ObjectReference
referenceType
public com.sun.jdi.ReferenceType referenceType()
- Specified by:
referenceTypein interfacecom.sun.jdi.ObjectReference
type
public com.sun.jdi.Type type()
- Specified by:
typein interfacecom.sun.jdi.Value- Specified by:
typein classValueImpl
setValue
public void setValue(com.sun.jdi.Field field, com.sun.jdi.Value value) throws com.sun.jdi.InvalidTypeException, com.sun.jdi.ClassNotLoadedException
- Sets the value of a given instance or static field in this object.
- Specified by:
setValuein interfacecom.sun.jdi.ObjectReference
uniqueID
public long uniqueID()
- Specified by:
uniqueIDin interfacecom.sun.jdi.ObjectReference
idString
public java.lang.String idString()
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object - Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null, string concatenation will instead use"null".The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode()).- Specified by:
toStringin interfacecom.sun.jdi.Mirror- Overrides:
toStringin classMirrorImpl
readObjectRefWithoutTag
public static ObjectReferenceImpl readObjectRefWithoutTag(MirrorImpl target, java.io.DataInputStream in) throws java.io.IOException
readObjectRefWithTag
public static ObjectReferenceImpl readObjectRefWithTag(MirrorImpl target, java.io.DataInputStream in) throws java.io.IOException
write
public void write(MirrorImpl target, java.io.DataOutputStream out) throws java.io.IOException
|
|||||||||
| Home >> All >> org >> eclipse >> jdi >> [ internal overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC