package jetbrains.mps.debugger.java.api.state.watchables;
/*Generated by MPS */
import jetbrains.mps.debug.api.programState.AbstractWatchable;
import jetbrains.mps.debugger.java.api.state.proxy.JavaValue;
import jetbrains.mps.debug.api.programState.IValue;
import org.jetbrains.mps.openapi.model.SNode;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.mps.openapi.model.SNodeReference;
import jetbrains.mps.debug.api.programState.WatchablesCategory;
import javax.swing.Icon;
public abstract class CustomJavaWatchable extends AbstractWatchable {
protected final JavaValue myCachedValue;
private final String myVisibleName;
public CustomJavaWatchable(JavaValue value, String name) {
myCachedValue = value;
myVisibleName = name;
}
@Override
public IValue getValue() {
return myCachedValue;
}
@Override
public String getName() {
return myVisibleName;
}
@Override
public SNode getNode() {
return null;
}
@Nullable
@Override
public SNodeReference getSourceNode() {
return null;
}
@Override
public WatchablesCategory getCategory() {
return WatchablesCategory.NONE;
}
@Override
public Icon getPresentationIcon() {
return myCachedValue.getPresentationIcon();
}
}