01: /*
02: * (C) Copyright 2000 - 2005 Nabh Information Systems, Inc.
03: *
04: * This program is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU General Public License
06: * as published by the Free Software Foundation; either version 2
07: * of the License, or (at your option) any later version.
08: *
09: * This program is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12: * GNU General Public License for more details.
13: *
14: * You should have received a copy of the GNU General Public License
15: * along with this program; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17: *
18: */
19:
20: package com.nabhinc.ws.server;
21:
22: /**
23: * Used for storing the Web service request context, servlet request,
24: * response, and session objects associated with the current thread.
25: *
26: * @author Padmanabh Dabke
27: * (c) 2005 Nabh Information Systems, Inc. All Rights Reserved.
28: */
29: public class Current {
30: /**
31: * Stores current web service request context
32: */
33: private static ThreadLocal cRequestContext = new ThreadLocal();
34:
35: /**
36: * Attach a request context to the current thread
37: * @param rContext Current request context
38: */
39: public static void attachRequestContext(RequestContext rContext) {
40: if (cRequestContext == null)
41: cRequestContext = new ThreadLocal();
42:
43: cRequestContext.set(rContext);
44: }
45:
46: /**
47: * Detach request context from current thread
48: */
49: public static void detachRequestContext() {
50: if (cRequestContext != null)
51: cRequestContext.set(null);
52: }
53:
54: /**
55: * Get request context associated with this thread.
56: * @return Current request context
57: */
58: public static RequestContext getRequestContext() {
59: return (RequestContext) cRequestContext.get();
60: }
61:
62: }
|