01: /*
02: * BEGIN_HEADER - DO NOT EDIT
03: *
04: * The contents of this file are subject to the terms
05: * of the Common Development and Distribution License
06: * (the "License"). You may not use this file except
07: * in compliance with the License.
08: *
09: * You can obtain a copy of the license at
10: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
11: * See the License for the specific language governing
12: * permissions and limitations under the License.
13: *
14: * When distributing Covered Code, include this CDDL
15: * HEADER in each file and include the License file at
16: * https://open-esb.dev.java.net/public/CDDLv1.0.html.
17: * If applicable add the following below this CDDL HEADER,
18: * with the fields enclosed by brackets "[]" replaced with
19: * your own identifying information: Portions Copyright
20: * [year] [name of copyright owner]
21: */
22:
23: /*
24: * @(#)ThreadLocalContext.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: /**
30: * ThreadLocalContext.java
31: *
32: * SUN PROPRIETARY/CONFIDENTIAL.
33: * This software is the proprietary information of Sun Microsystems, Inc.
34: * Use is subject to license terms.
35: *
36: * Created on February 6, 2005, 6:57 PM
37: */package com.sun.jbi.internal.security;
38:
39: import javax.security.auth.Subject;
40:
41: /**
42: *
43: * @author Sun Microsystems, Inc.
44: */
45: public class ThreadLocalContext {
46:
47: /**
48: * The static Inheritable Thread Local
49: */
50: private static InheritableThreadLocal sTLSubject = new InheritableThreadLocal();
51:
52: /** Creates a new instance of ThreadLocalContext. */
53: public ThreadLocalContext() {
54: }
55:
56: /**
57: * Get the Subject from the TLS. If a Subject has been set in TLS by calling
58: * by calling setLocalSubject() this value should be returned, else a null value will
59: * be returned.
60: *
61: * @return the Subject from TLS.
62: */
63: public static Subject getLocalSubject() {
64: return (Subject) sTLSubject.get();
65: }
66:
67: /**
68: * Set the Subject in the TLS.
69: *
70: * @param subject is the Subject to be set in the TLS.
71: */
72: public static void setLocalSubject(Subject subject) {
73: if (subject == null) {
74: return;
75: }
76:
77: sTLSubject.set(subject);
78: }
79: }
|