KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > core > rmi > ClassServerHelper


1 /*
2 * ################################################################
3 *
4 * ProActive: The Java(TM) library for Parallel, Distributed,
5 * Concurrent computing with Security and Mobility
6 *
7 * Copyright (C) 1997-2002 INRIA/University of Nice-Sophia Antipolis
8 * Contact: proactive-support@inria.fr
9 *
10 * This library is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU Lesser General Public
12 * License as published by the Free Software Foundation; either
13 * version 2.1 of the License, or any later version.
14 *
15 * This library is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 * Lesser General Public License for more details.
19 *
20 * You should have received a copy of the GNU Lesser General Public
21 * License along with this library; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23 * USA
24 *
25 * Initial developer(s): The ProActive Team
26 * http://www.inria.fr/oasis/ProActive/contacts.html
27 * Contributor(s):
28 *
29 * ################################################################
30 */

31 package org.objectweb.proactive.core.rmi;
32
33 public class ClassServerHelper {
34
35     /**
36  * settings of the ClassServer
37  */

38     protected ClassServer currentClassServer;
39     protected String JavaDoc classpath;
40     protected boolean shouldCreateClassServer = true;
41
42     //
43
// -- Constructors -----------------------------------------------
44
//
45
public ClassServerHelper() {
46         if ((System.getSecurityManager() == null) &&
47                 !("false".equals(System.getProperty("proactive.securitymanager")))) {
48             System.setSecurityManager(new java.rmi.RMISecurityManager JavaDoc());
49         }
50     }
51
52     //
53
// -- PUBLIC METHODS -----------------------------------------------
54
//
55
public String JavaDoc getClasspath() {
56         return classpath;
57     }
58
59     public void setClasspath(String JavaDoc v) {
60         classpath = v;
61     }
62
63     public int getClassServerPortNumber() {
64         if (currentClassServer == null) {
65             return -1;
66         }
67         return currentClassServer.getServerSocketPort();
68     }
69
70     public boolean shouldCreateClassServer() {
71         return shouldCreateClassServer;
72     }
73
74     public void setShouldCreateClassServer(boolean v) {
75         shouldCreateClassServer = v;
76     }
77
78     public synchronized void initializeClassServer() throws java.io.IOException JavaDoc {
79         if (!shouldCreateClassServer) {
80             return; // don't bother
81
}
82         if (currentClassServer != null) {
83             return; // already created for this VM
84
}
85         if (classpath == null) {
86             currentClassServer = new ClassFileServer();
87         } else {
88             currentClassServer = new ClassFileServer(classpath);
89         }
90         System.setProperty("java.rmi.server.codebase",
91             "http://" + currentClassServer.getHostname() + ":" +
92             currentClassServer.getServerSocketPort() + "/");
93     }
94
95     //
96
// -- PRIVATE METHODS -----------------------------------------------
97
//
98
}
99
Popular Tags