001: package org.drools.eclipse.debug;
002:
003: import org.eclipse.core.runtime.PlatformObject;
004: import org.eclipse.debug.core.DebugException;
005: import org.eclipse.debug.core.ILaunch;
006: import org.eclipse.debug.core.model.IDebugTarget;
007: import org.eclipse.debug.core.model.IValue;
008: import org.eclipse.jdt.debug.core.IJavaModifiers;
009: import org.eclipse.jdt.debug.core.IJavaType;
010: import org.eclipse.jdt.debug.core.IJavaValue;
011: import org.eclipse.jdt.debug.core.IJavaVariable;
012:
013: /**
014: * Creates a Variable from an IValue and a given name.
015: *
016: * @author <a href="mailto:kris_verlaenen@hotmail.com">kris verlaenen </a>
017: */
018: public class VariableWrapper extends PlatformObject implements
019: IJavaVariable {
020:
021: private String name;
022: private IJavaValue value;
023: private boolean isLocal = false;
024: private boolean isPublic = false;
025:
026: public VariableWrapper(String name, IJavaValue value) {
027: this .name = name;
028: this .value = value;
029: }
030:
031: public String getSignature() throws DebugException {
032: return ((IJavaValue) getValue()).getSignature();
033: }
034:
035: public String getGenericSignature() throws DebugException {
036: return ((IJavaValue) getValue()).getGenericSignature();
037: }
038:
039: public IJavaType getJavaType() throws DebugException {
040: return ((IJavaValue) getValue()).getJavaType();
041: }
042:
043: public boolean isLocal() {
044: return isLocal;
045: }
046:
047: public IValue getValue() {
048: return value;
049: }
050:
051: public String getName() {
052: return name;
053: }
054:
055: public String getReferenceTypeName() throws DebugException {
056: return ((IJavaValue) getValue()).getReferenceTypeName();
057: }
058:
059: public boolean hasValueChanged() {
060: return false;
061: }
062:
063: public boolean isPublic() {
064: return isPublic;
065: }
066:
067: public boolean isPrivate() {
068: return false;
069: }
070:
071: public boolean isProtected() {
072: return false;
073: }
074:
075: public boolean isPackagePrivate() {
076: return false;
077: }
078:
079: public boolean isFinal() {
080: return false;
081: }
082:
083: public boolean isStatic() {
084: return false;
085: }
086:
087: public boolean isSynthetic() {
088: return false;
089: }
090:
091: public String getModelIdentifier() {
092: return getValue().getModelIdentifier();
093: }
094:
095: public IDebugTarget getDebugTarget() {
096: return ((IJavaValue) getValue()).getDebugTarget();
097: }
098:
099: public ILaunch getLaunch() {
100: return getValue().getLaunch();
101: }
102:
103: public void setValue(String expression) {
104: }
105:
106: public void setValue(IValue value) {
107: }
108:
109: public boolean supportsValueModification() {
110: return false;
111: }
112:
113: public boolean verifyValue(String expression) {
114: return false;
115: }
116:
117: public boolean verifyValue(IValue value) {
118: return false;
119: }
120:
121: public Object getAdapter(Class adapter) {
122: if (IJavaVariable.class.equals(adapter)
123: || IJavaModifiers.class.equals(adapter)) {
124: return this ;
125: }
126: return super .getAdapter(adapter);
127: }
128:
129: public boolean equals(Object obj) {
130: if (obj instanceof VariableWrapper) {
131: VariableWrapper var = (VariableWrapper) obj;
132: return var.getName().equals(getName())
133: && var.getValue().equals(getValue());
134: }
135: return false;
136: }
137:
138: public int hashCode() {
139: return name.hashCode() + value.hashCode();
140: }
141:
142: public void setLocal(boolean val) {
143: isLocal = val;
144: }
145:
146: public void setPublic(boolean val) {
147: isPublic = val;
148: }
149: }
|