KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > proactive > core > node > Node


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.node;
32
33 import org.objectweb.proactive.ActiveObjectCreationException;
34 import org.objectweb.proactive.core.runtime.ProActiveRuntime;
35
36 /**
37  * <p>
38  * A <code>Node</code> offers a set of services needed by ProActive to work with
39  * remote JVM. Each JVM that is aimed to hold active objects should contains at least
40  * one instance of the node class. That instance, when created, will be registered
41  * to some registry where it is possible to perform a lookup (such as the RMI registry).
42  * </p><p>
43  * When ProActive needs to interact with a remote JVM, it will lookup for one node associated
44  * with that JVM (using typically the RMI Registry) and use this node to perform the interaction.
45  * </p><p>
46  * We expect several concrete implementations of the Node to be wrtten such as a RMI node, a JINI node ...
47  * </p>
48  *
49  * @author ProActive Team
50  * @version 1.1, 2002/08/28
51  * @since ProActive 0.9
52  *
53  */

54 public interface Node
55 {
56     
57   /**
58    * Returns the node information as one object. This method allows to
59    * retrieve all node information in one call to optimize performance.
60    * @return the node information as one object
61    */

62     public NodeInformation getNodeInformation();
63     
64         
65     /**
66      * Returns a reference to the <code>ProActiveRuntime</code> where the node has been created
67      * @return ProActiveRuntime. The reference to the <code>ProActiveRuntime</code> where the node has been created
68      */

69     public ProActiveRuntime getProActiveRuntime();
70     
71     
72   /**
73    * Returns all activeObjects deployed on this Node
74    * @return Object[] contains all activeObjects deployed on this Node
75    */

76     public Object JavaDoc[] getActiveObjects() throws NodeException,ActiveObjectCreationException;
77     
78     /**
79      * Returns all activeObjects with the given name deployed on this Node
80      * or null if such objects do not exist
81      * @param className the class of the Active Objects
82      * @return Object[].The set of activeObjects deployed on this node with the given name
83      */

84     public Object JavaDoc[] getActiveObjects(String JavaDoc className) throws NodeException,ActiveObjectCreationException;
85     
86
87     public String JavaDoc getVnName();
88
89     public void setVnName(String JavaDoc virtualNodeName);
90
91 }
92
Popular Tags