package com.mobilesorcery.sdk.html5.debug.jsdt; import org.eclipse.core.resources.IResource; public class JavaScriptBreakpointDesc { public static final String SUSPEND_ON_CHANGE = "change"; public static final String SUSPEND_ON_TRUE = "true"; private final IResource resource; private final int lineNumber; private String condition; private final int hitCount; private String conditionSuspend; public JavaScriptBreakpointDesc(IResource resource, int lineNumber, String condition, String conditionSuspend, int hitCount) { this.resource = resource; this.lineNumber = lineNumber; this.condition = condition; this.conditionSuspend = conditionSuspend; this.hitCount = hitCount; } private JavaScriptBreakpointDesc(JavaScriptBreakpointDesc prototype) { this.resource = prototype.resource; this.lineNumber = prototype.lineNumber; this.condition = prototype.condition; this.conditionSuspend = prototype.conditionSuspend; this.hitCount = prototype.hitCount; } public IResource getResource() { return resource; } public int getLineNumber() { return lineNumber; } public String getCondition() { return condition; } public int getHitCount() { return hitCount; } public String getConditionSuspend() { return conditionSuspend; } public JavaScriptBreakpointDesc setCondition(String condition) { JavaScriptBreakpointDesc copy = new JavaScriptBreakpointDesc(this); copy.condition = condition; return copy; } public JavaScriptBreakpointDesc setConditionSuspend(String conditionSuspend) { JavaScriptBreakpointDesc copy = new JavaScriptBreakpointDesc(this); copy.conditionSuspend = conditionSuspend; return copy; } public String toString() { String hitCountStr = hitCount > 0 ? " Hit count: " + Integer.toString(hitCount) : ""; String suspendStr = SUSPEND_ON_TRUE.equals(conditionSuspend) ? " (suspend on true)" : " (suspend on change)"; String conditionStr = condition != null ? " Condition: " + condition + suspendStr : ""; return resource.getFullPath().toPortableString() + ": " + lineNumber + hitCountStr + conditionStr; } }