ninja.activeproxy.path
Class OpServices

java.lang.Object
  |
  +--ninja.activeproxy.path.OpServices

public class OpServices
extends java.lang.Object

OpServices finds lists of operators, allows callers to get Stub interfaces into them.


Field Summary
(package private) static int kUNIMPL_CODE
           
 
Constructor Summary
OpServices()
           
 
Method Summary
static boolean containsNamedOperator(java.util.Vector ops, java.lang.String name)
           
static boolean containsOperator(java.util.Vector ops, OpInfo o)
           
static SDSOperatorIF getOperatorStubs(OpInfo op)
          Return stubs for operator in its current location
static SDSOperatorIF loadOperator(OpInfo op, java.lang.String host)
          Load the operator the specified url onto the specified host Requires an iSpace to be running on the specified host
static SDSOperatorIF loadOperatorLocal(OpInfo op)
          Load the operator from the specified url onto the local host.
static OpIterator operators()
           
static OpIterator opInstances(java.lang.String name)
           
static java.util.Vector opInstancesVector(java.lang.String name)
           
(package private) static OpIterator searchOperators(java.lang.String xml_criteria)
          Return an iterator for operators matching the specified criteria.
static OpIterator uniqueOps()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

kUNIMPL_CODE

static final int kUNIMPL_CODE
Constructor Detail

OpServices

public OpServices()
Method Detail

searchOperators

static OpIterator searchOperators(java.lang.String xml_criteria)
Return an iterator for operators matching the specified criteria.
Parameters:
criteria - An XML description, possibly containing wildcards. See xxx for description of matching rules.

operators

public static OpIterator operators()
Returns:
Iterator with all operators currently registered via SDS

uniqueOps

public static OpIterator uniqueOps()
Returns:
Iterator with all uniquely named operators currently registered via SDS

opInstances

public static OpIterator opInstances(java.lang.String name)
Parameters:
name - The name of the operator to search for (from an OpInfo.name record)
Returns:
Iterator will all instances of a particular operator

opInstancesVector

public static java.util.Vector opInstancesVector(java.lang.String name)
Parameters:
name - The name of the operator to search for

loadOperator

public static SDSOperatorIF loadOperator(OpInfo op,
                                         java.lang.String host)
                                  throws java.lang.reflect.InvocationTargetException,
                                         java.lang.InstantiationException,
                                         java.lang.ClassNotFoundException,
                                         java.rmi.RemoteException,
                                         java.lang.IllegalAccessException
Load the operator the specified url onto the specified host Requires an iSpace to be running on the specified host
Parameters:
url - A URL to an operator returned from SDS
host - The hostname of a machine running an iSpaceLoader to load onto
Returns:
stubs which can be used to control the operator on the host
Throws:
java.lang.reflect.InvocationTargetException - xxx
java.lang.InstantiationException - xxx
java.lang.ClassNotFoundException - xxx
java.rmi.RemoteException - xxx
java.lang.IllegalAccessException - xxx

loadOperatorLocal

public static SDSOperatorIF loadOperatorLocal(OpInfo op)
                                       throws java.lang.InstantiationException,
                                              java.lang.ClassNotFoundException,
                                              java.rmi.RemoteException,
                                              java.lang.IllegalAccessException
Load the operator from the specified url onto the local host. Does not require an iSpace to be running locally, as it does not use iSpaceLoader.
Parameters:
op - The operator to be loaded
Returns:
instance of the operator which was loaded
Throws:
java.lang.InstantiationException - if the operator couldn't be instantiated
java.lang.ClassNotFoundException - couldn't find the operator
java.rmi.RemoteException - rmi failed on newInstance
java.lang.IllegalAccessException - not allowed to access codebase

getOperatorStubs

public static SDSOperatorIF getOperatorStubs(OpInfo op)
                                      throws java.rmi.RemoteException
Return stubs for operator in its current location
Parameters:
op - OpInfo identifying an operator from OpIterator
Returns:
stubs which can be used to call into operator
Throws:
java.rmi.RemoteException - Operator can't be located/isn't available

containsOperator

public static boolean containsOperator(java.util.Vector ops,
                                       OpInfo o)
Parameters:
ops - A vector op ninja.madden.OpInfo records
o - An OpInfo record whose presence to test for in ops

containsNamedOperator

public static boolean containsNamedOperator(java.util.Vector ops,
                                            java.lang.String name)
Parameters:
ops - A vector of ninja.madden.OpInfo records
name - The name of the operator to search for