public void dec() {
flowHeightHandler.dec();
+ if (!flowHeightHandler.isNotZero()) {
+ flowHeightHandler.removeThreadCounter();
+ }
}
public boolean isValid() {
}
public void pop() {
- getThreadStack().pop();
+ Stack s = getThreadStack();
+ s.pop();
+ if (s.isEmpty()) {
+ stackProxy.removeThreadStack();
+ }
}
public Object peek() {
public void inc();
public void dec();
public boolean isNotZero();
+ public void removeThreadCounter();
}
\ No newline at end of file
return getThreadCounter().value!=0;
}
+ public void removeThreadCounter() {
+ // TODO
+ }
+
}
public interface ThreadStack {
public Stack getThreadStack();
+ public void removeThreadStack();
}
public Stack getThreadStack() {
return (Stack)get();
}
+ public void removeThreadStack() {
+ this.remove();
+ }
}
public ThreadStack getNewThreadStack() {
return (Counter)get();
}
+ public void removeThreadCounter() {
+ this.remove();
+ }
+
public void inc() { getThreadCounter().value++; }
public void dec() { getThreadCounter().value--; }
public boolean isNotZero() { return getThreadCounter().value!= 0; }
return cached_stack;
}
+ public void removeThreadStack() {
+ // TODO
+ }
+
}