public class BasicILFactory extends AbstractILFactory
InvocationLayerFactory
. This
factory is used to create a Proxy
instance with a BasicInvocationHandler
and to create a BasicInvocationDispatcher
for a remote object being exported. This
factory is used in conjunction with the BasicJeriExporter
class.InvocationLayerFactory.Instances
Constructor and Description |
---|
BasicILFactory()
Creates a
BasicILFactory instance with no server
constraints, no permission class, and a null class
loader. |
BasicILFactory(MethodConstraints serverConstraints,
Class permissionClass)
Creates a
BasicILFactory with the specified server
constraints, permission class, and a null class
loader. |
BasicILFactory(MethodConstraints serverConstraints,
Class permissionClass,
ClassLoader loader)
Creates a
BasicILFactory with the specified server
constraints, permission class, and class loader. |
Modifier and Type | Method and Description |
---|---|
protected InvocationDispatcher |
createInvocationDispatcher(Collection methods,
Remote impl,
ServerCapabilities caps)
Returns an invocation dispatcher to receive incoming remote calls
for the specified methods to the specified remote object, for a
server and transport with the specified capabilities.
|
protected InvocationHandler |
createInvocationHandler(Class[] interfaces,
Remote impl,
ObjectEndpoint oe)
Returns an invocation handler to use with a
Proxy instance
implementing the specified interfaces, communicating with the
specified remote object using the specified object endpoint. |
boolean |
equals(Object obj)
Compares the specified object with this invocation layer factory for
equality.
|
protected Class[] |
getExtraProxyInterfaces(Remote impl)
Returns a new array containing any additional interfaces that the
proxy should implement, beyond the interfaces obtained by passing
impl to the getRemoteInterfaces method. |
Class |
getPermissionClass()
Returns the permission class, if any.
|
MethodConstraints |
getServerConstraints()
Returns the server constraints, if any.
|
int |
hashCode()
Returns a hash code value for this factory.
|
String |
toString()
Returns a string representation of this factory.
|
createInstances, getClassLoader, getInvocationDispatcherMethods, getProxyInterfaces, getRemoteInterfaces
public BasicILFactory()
BasicILFactory
instance with no server
constraints, no permission class, and a null
class
loader.public BasicILFactory(MethodConstraints serverConstraints, Class permissionClass)
BasicILFactory
with the specified server
constraints, permission class, and a null
class
loader.serverConstraints
- the server constraints, or null
permissionClass
- the permission class, or null
IllegalArgumentException
- if the permission class is
abstract, is not a subclass of Permission
, or does
not have a public constructor that has either one
String
parameter or one Method
parameter and has no declared exceptionspublic BasicILFactory(MethodConstraints serverConstraints, Class permissionClass, ClassLoader loader)
BasicILFactory
with the specified server
constraints, permission class, and class loader. The server
constraints, if not null
, are used to enforce minimum
constraints for remote calls. The permission class, if not
null
, is used to perform server-side access control on
incoming remote calls. The class loader, which may be
null
, is passed to the superclass constructor and is
used by the createInstances
method.serverConstraints
- the server constraints, or null
permissionClass
- the permission class, or null
loader
- the class loader, or null
IllegalArgumentException
- if the permission class is
abstract, is not a subclass of Permission
, or does
not have a public constructor that has either one
String
parameter or one Method
parameter and has no declared exceptionsprotected InvocationHandler createInvocationHandler(Class[] interfaces, Remote impl, ObjectEndpoint oe) throws ExportException
Proxy
instance
implementing the specified interfaces, communicating with the
specified remote object using the specified object endpoint.
BasicILFactory
implements this method to
return a BasicInvocationHandler
constructed with the
specified object endpoint and this factory's server constraints.
createInvocationHandler
in class AbstractILFactory
interfaces
- an array of proxy interfacesimpl
- a remote object this invocation handler
is being created foroe
- an object endpoint used to communicate with
the remote objectNullPointerException
- if any argument is null
,
or if interfaces
contains a null
elementExportException
- if there is a problem creating the
invocation handlerprotected Class[] getExtraProxyInterfaces(Remote impl)
impl
to the getRemoteInterfaces
method.
BasicILFactory
implements this method to return a
new array containing the RemoteMethodControl
and TrustEquivalence
interfaces, in that order.
getExtraProxyInterfaces
in class AbstractILFactory
impl
- the remote objectNullPointerException
- if impl
is null
protected InvocationDispatcher createInvocationDispatcher(Collection methods, Remote impl, ServerCapabilities caps) throws ExportException
BasicILFactory
implements this method to return a
BasicInvocationDispatcher
instance constructed with the
specified methods, server capabilities, and this factory's
server constraints, permission class, and class loader specified
at construction.
createInvocationDispatcher
in class AbstractILFactory
methods
- a collection of Method
instances for the
remote methodsimpl
- a remote object that the dispatcher is being created forcaps
- the transport capabilities of the serverNullPointerException
- if any argument is null
,
or if methods
contains a null
elementIllegalArgumentException
- if methods
contains
an element that is not a Method
instanceExportException
- if there is a problem creating the
dispatcherpublic final MethodConstraints getServerConstraints()
null
public final Class getPermissionClass()
null
public int hashCode()
hashCode
in class AbstractILFactory
public boolean equals(Object obj)
BasicILFactory
implements this method to return
true
if and only if invoking the superclass's
equals
method passing the specified object returns
true
, the specified object has the same class as this
object, and the server constraints and permission class are equal to
the ones in this object.
equals
in class AbstractILFactory
public String toString()
toString
in class AbstractILFactory