1 55 package org.lateralnz.common.util; 56 57 import java.util.Stack ; 58 import java.util.EmptyStackException ; 59 60 65 public class StackThreadLocal implements Constants { 66 67 private static ThreadLocal STACK = new ThreadLocal () { 68 protected synchronized Object initialValue() { 69 return new Stack (); 70 } 71 }; 72 73 private StackThreadLocal() { 74 } 75 76 79 public static final void push(Object obj) { 80 Stack s = (Stack )STACK.get(); 81 s.add(obj); 82 } 83 84 87 public static final Object peek() { 88 try { 89 Stack s = (Stack )STACK.get(); 90 return s.peek(); 91 } 92 catch (EmptyStackException nsee) { 93 return null; 94 } 95 } 96 97 100 public static final Object pop() { 101 try { 102 Stack s = (Stack )STACK.get(); 103 return s.pop(); 104 } 105 catch (EmptyStackException nsee) { 106 return null; 107 } 108 } 109 } | Popular Tags |