org.eclipse.wst.jsdt.debug.core.jsdi

## Interface ObjectReference

All Superinterfaces:
  Mirror, Value

All Known Subinterfaces:
  ArrayReference, FunctionReference

    public interface ObjectReference
    extends Value

Abstract representation of an object with-respect-to JavaScript debugging

Since:
  1.0
See Also:
  `Value`
Restriction:
  This interface is not intended to be extended by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`java.lang.String` `className()` The name of the class represented by the `ObjectReference` or `null` if one cannot be determined.
`Value` `constructor()` The `FunctionReference` that can be used to create a reflected instance of the underlying class for this object or `NullValue` if one cannot be determined.
`java.lang.Number` `id()` The object reference id - this value should be unique and never `null`
`java.util.List` `properties()` The properties for this `ObjectReference` or an empty list, never `null`
`Value` `prototype()` The prototype object for this `ObjectReference` or `NullValue` if one cannot be determined.

### Methods inherited from interface org.eclipse.wst.jsdt.debug.core.jsdi.Value

`valueString`

### Methods inherited from interface org.eclipse.wst.jsdt.debug.core.jsdi.Mirror

`virtualMachine`

### Method Detail

#### className

    java.lang.String className()

The name of the class represented by the `ObjectReference` or `null` if one cannot be determined.
In ECMA this will typically be the same as `prototype().className()`.

Returns:
  the name of the class or `null`

#### constructor

    Value constructor()

The `FunctionReference` that can be used to create a reflected instance of the underlying class for this object or `NullValue` if one cannot be determined.

Returns:
  the `FunctionReference` used to create a reflected instance of the underlying class or `NullValue`

#### prototype

    Value prototype()

The prototype object for this `ObjectReference` or `NullValue` if one cannot be determined.
The prototype should be the smallest enclosing prototype that parents this `ObjectReference`. If no prototype can be determined `Object.prototype` should be returned, but `NullValue` is allowed.

Returns:
  the prototype for this `ObjectReference` or `NullValue`

#### properties

    java.util.List properties()

The properties for this `ObjectReference` or an empty list, never `null`

Returns:
  the list of `Property` objects for this `ObjectReference` or an empty listing.

#### id

    java.lang.Number id()

The object reference id - this value should be unique and never `null`

Returns:
  the id of this `ObjectReference` never `null`