public final class ActivationExporter extends Object implements Exporter
Exporter
implementation for exporting an activatable remote object using its
underlying exporter. The proxy returned by the export
method activates the remote
object on demand. Each instance of ActivationExporter
can export only a single
remote object.Constructor and Description |
---|
ActivationExporter(ActivationID id,
Exporter underlyingExporter)
Creates an exporter for an activatable remote object with the specified activation
identifier, underlying exporter, and a
null class loader. |
ActivationExporter(ActivationID id,
Exporter underlyingExporter,
ClassLoader loader)
Creates an exporter for an activatable remote object with the specified activation
identifier, underlying exporter, and class loader.
|
Modifier and Type | Method and Description |
---|---|
Remote |
export(Remote impl)
Exports an activatable remote object.
|
boolean |
unexport(boolean force)
Unexports the activatable remote object that was previously exported via the
export method of the underlying exporter supplied during construction of this
exporter. |
public ActivationExporter(ActivationID id, Exporter underlyingExporter)
null
class loader.underlyingExporter
- an exporterid
- an activation identifierNullPointerException
- if id
or underlyingExporter
is
null
public ActivationExporter(ActivationID id, Exporter underlyingExporter, ClassLoader loader)
underlyingExporter
- an exporterid
- an activation identifierloader
- the class loader to define the proxy class in, or
null
NullPointerException
- if id
or underlyingExporter
is
null
public Remote export(Remote impl) throws ExportException
impl
by calling the
export
method on the underlying exporter (supplied during construction of this
exporter) to obtain an underlying proxy. It then constructs and returns a Proxy
instance where:
null
, the proxy's
class is defined by the specified loader. Otherwise, if a security manager exists, its
checkPermission
method is invoked with the permission
RuntimePermission
{"getClassLoader")
; this invocation may throw a
SecurityException
. If the above security check succeeds, the proxy's class is
defined by the class loader of the underlying proxy's class.
RemoteMethodControl
, the interface ProxyTrust
is not
among the interfaces implemented by the proxy):
for each superclass of the underlying proxy's class, starting with
java.lang.Object
and following with each direct subclass to the direct
superclass of the underlying proxy's class, all of the direct superinterfaces of the given
superclass that do not appear previously in the list, in declaration order (the order in
which they are declared in the class's implements
clause), followed by
all of the direct superinterfaces of the underlying proxy's class that do not appear previously in the list, in declaration order.
ActivatableInvocationHandler
instance
constructed with the ActivationID
and underlying proxy supplied during construction
of this exporter. export
in interface Exporter
impl
- a remote object to exportNullPointerException
- if impl
is null
IllegalStateException
- if an object has already been exported with this
Exporter
instanceExportException
- if a problem occurs exporting impl
or if the
underlying proxy's class is non-public
and
implements non-public
interfacespublic boolean unexport(boolean force)
export
method of the underlying exporter supplied during construction of this
exporter. Returns the result of unexporting the remote object by calling the
unexport
method on the underlying exporter passing force
as the
argument.unexport
in interface Exporter
force
- if true
, the remote object will be unexported even if there are
remote calls pending or in progress; if false
, the remote object
may only be unexported if there are no known remote calls pending or in
progresstrue
if the remote object is unexported when this method returns and
false
otherwiseIllegalStateException
- if an object has not been exported with this
Exporter
instanceCopyright © GigaSpaces.