public class DequeStack implements Stack {
private Deque D;
public DequeStack() {
D = new MyDeque();
}
public int size() {
return D.size();
}
public boolean isEmpty() {
return D.isEmpty();
}
public void push(Object obj) {
D.insertLast(obj);
}
public Object top() throws StackEmptyException {
try {
return D.last();
}
catch (DequeEmptyException ece) {
throw new StackEmptyException("Stack is empty!");
}
}
public Object pop() throws StackEmptyException {
try {
return D.removeLast();
}
catch (DequeEmptyException ece) {
throw new StackEmptyException("Stack is empty!");
}
}
}