public abstract class XValueMarkerProvider<V extends XValue,M>
extends java.lang.Object
If debugger values have unique ids just return these ids from getMarker(XValue)
method.
Alternatively implement markValue(XValue)
to store a value in some registry and implement unmarkValue(XValue, Object)
to remote it from the registry. In such a case the getMarker(XValue)
method can return null
if the value
isn't marked.
Modifier | Constructor and Description |
---|---|
protected |
XValueMarkerProvider(java.lang.Class<V> valueClass) |
Modifier and Type | Method and Description |
---|---|
abstract boolean |
canMark(V value) |
abstract M |
getMarker(V value)
This method is used to determine whether the
value was marked or not. |
java.lang.Class<V> |
getValueClass() |
M |
markValue(V value)
This method is called when 'Mark Object' action is invoked.
|
void |
unmarkValue(V value,
M marker)
This method is called when 'Unmark Object' action is invoked.
|
protected XValueMarkerProvider(java.lang.Class<V> valueClass)
public abstract boolean canMark(V value)
true
if 'Mark Object' action should be enabled for value
public abstract M getMarker(V value)
value
was marked or not. The returned object is compared using Object.equals(Object)
method with markers returned by markValue(XValue)
methods.
This method may return null
if the value
wasn't marked by markValue(XValue)
method.
value
public M markValue(V value)
value
and store it in some registry
if necessary.value
public void unmarkValue(V value, M marker)
public final java.lang.Class<V> getValueClass()