View Javadoc

1   /*
2    * EL4J, the Extension Library for the J2EE, adds incremental enhancements to
3    * the spring framework, http://el4j.sf.net
4    * Copyright (C) 2005 by ELCA Informatique SA, Av. de la Harpe 22-24,
5    * 1000 Lausanne, Switzerland, http://www.elca.ch
6    *
7    * EL4J is published under the GNU Lesser General Public License (LGPL)
8    * Version 2.1. See http://www.gnu.org/licenses/
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13   * GNU Lesser General Public License for more details.
14   *
15   * For alternative licensing, please contact info@elca.ch
16   */
17  package ch.elca.el4j.services.statistics.detailed.contextpassing;
18  
19  /**
20   *
21   * This class is specific implementation of the generic shared context
22   * of Leaf 2 for the detailed statistics service. The shared context is
23   * held in a static ThreadLocal variable.
24   *
25   * @svnLink $Revision: 3874 $;$Date: 2009-08-04 14:25:40 +0200 (Di, 04. Aug 2009) $;$Author: swismer $;$URL: https://el4j.svn.sourceforge.net/svnroot/el4j/branches/el4j_3_1/el4j/framework/modules/detailed_statistics/common/src/main/java/ch/elca/el4j/services/statistics/detailed/contextpassing/DetailedStatisticsSharedContextHolder.java $
26   *
27   * @author Rashid Waraich (RWA)
28   * @author Philipp Oser (POS)
29   */
30  public class DetailedStatisticsSharedContextHolder {
31  	
32  	/**
33  	 * Internal holder of thread static variable.
34  	 */
35  	private static final ThreadLocal<DetailedStatisticsContext>
36  	DETAILED_STATISTICS_CONTEXT
37  		= new ThreadLocal<DetailedStatisticsContext>() {
38  				@Override
39  				protected DetailedStatisticsContext initialValue() {
40  					return new DetailedStatisticsContext();
41  				}
42  			};
43  	
44  	/**
45  	 * Hide default constructor as this is a Utility class.
46  	 *
47  	 */
48  	protected DetailedStatisticsSharedContextHolder() { }
49  	
50  	
51  	/**
52  	 * Get the passed object.
53  	 *
54  	 * @return DetailedStatisticsContext.
55  	 */
56  	public static final DetailedStatisticsContext getContext() {
57  		return DETAILED_STATISTICS_CONTEXT.get();
58  	}
59  	
60  	/**
61  	 * Set the passed object.
62  	 * @param passedObject The passed object.
63  	 */
64  	public static final void setContext(
65  		DetailedStatisticsContext passedObject) {
66  		DETAILED_STATISTICS_CONTEXT.set(passedObject);
67  	}
68  	
69  }