1 23 24 package org.mdarad.framework.util.struts; 25 26 33 public class Alternator { 34 private static final ThreadLocal THREAD_LOCAL = new ThreadLocal (); 35 private static final String ALTERNATOR_EVEN_LABEL = "even"; 36 private static final String ALTERNATOR_ODD_LABEL = "odd"; 37 38 39 public static String alternate() { 40 String output = null; 41 42 Boolean state = (Boolean ) THREAD_LOCAL.get(); 43 if (state == null) { 44 state = new Boolean (false); 46 } 47 48 THREAD_LOCAL.set(new Boolean (!state.booleanValue())); 49 50 if (state.booleanValue()) { 51 output = ALTERNATOR_ODD_LABEL; 52 } else { 53 output = ALTERNATOR_EVEN_LABEL; 54 } 55 56 return output; 57 } 58 59 60 public static void reset() { 61 THREAD_LOCAL.set(null); 62 } 63 } 64 | Popular Tags |