fc.util
Class ThreadLocalCalendar

java.lang.Object
  extended by fc.util.ThreadLocalCalendar

public final class ThreadLocalCalendar
extends Object

Useful to store thread-local calendar instances. This class is intended for servlets/molly pages. Instead of static get/set methods, this class must be instantiated and the instance methods used to get/set the calendar object. This allows multiple instances of this class in the webapp, with each instance being able to get/set a seperate calendar. [If the methods in this class were static, then only 1 calendar could be get/set per thread].

Each thread must remember to individually create a seperate calendar instance and store it via the set method. The usage idiom is:


//WebApp has a map of ThreadLocalCalendars and also a instance variable
//with a default ThreadLocalCalendar
ThreadLocalCalendar mycal = WebApp.getThreadLocalCalendar("foo");

if (mycal.isNull())  {
        mycal.set(Calendar.getInstance());
        }

Calendar cal = mycal.get();

Note, the lines in red are always needed anywhere/anytime this class is used. (note, it just so happens that the Calendar.getInstance() returns (at least for now) a new object every time it is called, else which is why it is being used in the example above, else we would have to manually create a new Calendar instance instead).


Constructor Summary
ThreadLocalCalendar()
           
 
Method Summary
 Calendar get()
           
 boolean isNull()
           
static void main(String[] args)
           
 void set(Calendar cal)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThreadLocalCalendar

public ThreadLocalCalendar()
Method Detail

get

public Calendar get()

set

public void set(Calendar cal)

isNull

public boolean isNull()

main

public static void main(String[] args)
                 throws Exception
Throws:
Exception