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: * @(#)EnvironmentAccess.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: package com.sun.jbi.util;
30:
31: import com.sun.jbi.EnvironmentContext;
32:
33: /**
34: * This class provides a way for any service to obtain a reference to the
35: * EnvironmentContext created by the framework. The reason this class is
36: * necessary is that classes in the framework service are not directly
37: * accessible to other services. This is provided as a convenience for
38: * various runtime classes to have easy access to the EnvironmentContext.
39: *
40: * @author Mark S White
41: */
42: public class EnvironmentAccess {
43: /**
44: * EnvironmentContext reference.
45: */
46: private static EnvironmentContext sContext = null;
47:
48: /**
49: * Private constructor (never used).
50: */
51: private EnvironmentAccess() {
52: }
53:
54: /**
55: * Get a reference to the EnvironmentContext.
56: * @return the EnvironmentContext or null if the framework has not been
57: * initialized.
58: */
59: public static EnvironmentContext getContext() {
60: return sContext;
61: }
62:
63: /**
64: * Set a reference to the EnvironmentContext. Note that after the first
65: * time this is set, subsequent calls are ignored. Only the constructor
66: * in the EnvironmentContext should call this method.
67: * @param context the EnvironmentContext reference.
68: */
69: public static synchronized void setContext(
70: EnvironmentContext context) {
71: if (null == sContext) {
72: sContext = context;
73: }
74: }
75: }
|