org.objectweb.jeremie.stub_factories.std
Class StdStubFactory

java.lang.Object
  extended by org.objectweb.jeremie.stub_factories.std.StdStubFactory
All Implemented Interfaces:
DefaultStubTable, JRMIStubFactory, org.objectweb.jonathan.stub_factories.api.StubFactory

public class StdStubFactory
extends Object
implements JRMIStubFactory

Provides an implementation of a Jeremie stub factory.

The factory maintains a table associating Jeremie stubs with the target remote objects that they represent.


Nested Class Summary
protected  class StdStubFactory.DynamicRequestSession
          Provides an implementation of a request session.
protected  class StdStubFactory.RequestSessionImpl
          Provides an implementation of a request session.
 
Field Summary
 
Fields inherited from interface org.objectweb.jeremie.stub_factories.api.DefaultStubTable
default_stub_table
 
Constructor Summary
StdStubFactory(org.objectweb.jonathan.presentation.api.MarshallerFactory marshaller_factory, org.objectweb.jonathan.apis.kernel.ClassPathFinder classpath_finder)
          Constructs a new Jeremie stub factory.
 
Method Summary
 Hashtable getStubTable()
          Retrieves the stub table associated with this stub factory.
 org.objectweb.jonathan.protocols.api.RequestSession newRequestSession(Object target)
          Creates a request session which can be used by the stub to send data to the given remote object.
 RemoteStub newStub(Object impl, org.objectweb.jonathan.binding.api.Identifier id)
          Creates a stub object to represent the given (remote) object with a reference containing the given identifier.
 Object newStub(org.objectweb.jonathan.protocols.api.SessionIdentifier ep, org.objectweb.jonathan.binding.api.Identifier[] ids, org.objectweb.jonathan.apis.kernel.Context hints)
          Creates a stub object with a reference containing the given identifiers and the given session identifier.
 void setStubNameExtension(String ext)
          Optional parameters...
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StdStubFactory

public StdStubFactory(org.objectweb.jonathan.presentation.api.MarshallerFactory marshaller_factory,
                      org.objectweb.jonathan.apis.kernel.ClassPathFinder classpath_finder)
Constructs a new Jeremie stub factory.

Parameters:
_c - a context, used to retrieve the default class loader;
mfactory - a marshaller factory.
classpath_finder - a class path finder
Method Detail

setStubNameExtension

public void setStubNameExtension(String ext)
Optional parameters...


getStubTable

public Hashtable getStubTable()
Retrieves the stub table associated with this stub factory.

Specified by:
getStubTable in interface JRMIStubFactory
Returns:
the stub table.

newStub

public RemoteStub newStub(Object impl,
                          org.objectweb.jonathan.binding.api.Identifier id)
                   throws org.objectweb.jonathan.apis.kernel.JonathanException
Creates a stub object to represent the given (remote) object with a reference containing the given identifier.

Specified by:
newStub in interface JRMIStubFactory
Parameters:
impl - the (remote) object;
id - an identifier (for the remote object) that will be included in the reference held by the stub.
Returns:
a stub.
Throws:
org.objectweb.jonathan.apis.kernel.JonathanException - if something goes wrong.

newStub

public Object newStub(org.objectweb.jonathan.protocols.api.SessionIdentifier ep,
                      org.objectweb.jonathan.binding.api.Identifier[] ids,
                      org.objectweb.jonathan.apis.kernel.Context hints)
               throws org.objectweb.jonathan.apis.kernel.JonathanException
Creates a stub object with a reference containing the given identifiers and the given session identifier.

Specified by:
newStub in interface org.objectweb.jonathan.stub_factories.api.StubFactory
Parameters:
ep - a session identifier to be used to send marshalled data to the object represented by the stub;
ids - a set of identifiers;
hints - other data possibly used to create the stub.
Returns:
a stub.
Throws:
org.objectweb.jonathan.apis.kernel.JonathanException - if something goes wrong.

newRequestSession

public org.objectweb.jonathan.protocols.api.RequestSession newRequestSession(Object target)
                                                                      throws org.objectweb.jonathan.apis.kernel.JonathanException
Creates a request session which can be used by the stub to send data to the given remote object.

Specified by:
newRequestSession in interface JRMIStubFactory
Parameters:
target - the remote object.
Returns:
the created request session.
Throws:
org.objectweb.jonathan.apis.kernel.JonathanException - if something goes wrong.