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: * @(#)JMXConnectorSourceFactory.java
25: * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
26: *
27: * END_HEADER - DO NOT EDIT
28: */
29: /**
30: * JMXConnectorSourceFactory.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 June 13, 2005, 3:16 PM
37: */package com.sun.jbi.util.jmx;
38:
39: import com.sun.jbi.util.StringTranslator;
40:
41: /**
42: *
43: * @author Sun Microsystems, Inc.
44: */
45: public class JMXConnectorSourceFactory {
46: /** Default JMX Connector Source */
47: private static final String DEF_CONNECTOR_SRC = "com.sun.jbi.util.jmx.JMXConnectorSourceImpl";
48:
49: /** The Connector Source Class System property. */
50: private static final String CONNECTOR_SRC_CLASS = "com.sun.jbi.util.jmx.JMXConnectorSource";
51:
52: /** Invalid Impl. */
53: private static final String INVALID_INTERFACE_IMPL = "INVALID_INTERFACE_IMPL";
54:
55: /**
56: * Create a new Connector Source. If the System property
57: * "com.sun.jbi.util.JMXConnectorSource" is set to a valid Connector Source class,
58: * then a new instance of this class is returned, else an instance of the default
59: * Connector Source is returned.
60: *
61: * @return a ConnectorSource Instance.
62: * @throws Exception if a Connector Source instance cannot be created.
63: */
64: public static JMXConnectorSource createConnectorSource()
65: throws Exception {
66: String className = System.getProperty(CONNECTOR_SRC_CLASS,
67: DEF_CONNECTOR_SRC);
68:
69: Object obj = Class.forName(className).newInstance();
70:
71: if (!(obj instanceof JMXConnectorSource)) {
72: // throw an ex.
73: StringTranslator translator = new StringTranslator(
74: "com.sun.jbi.util", null);
75:
76: String errMsg = translator.getString(
77: INVALID_INTERFACE_IMPL, className,
78: "com.sun.jbi.util.jmx.JMXConnectorSource");
79: throw new Exception(errMsg);
80: } else {
81: System.out.println("Creating a Connector Source : "
82: + className);
83: return (JMXConnectorSource) obj;
84: }
85:
86: }
87:
88: }
|