public class SystemAccessExporter extends Object implements Exporter
ActivationSystem instance so that it
only accepts calls from the local host and optionally enforces a
GroupPolicy on calls to registerGroup and
setActivationGroupDesc.| Constructor and Description |
|---|
SystemAccessExporter()
Creates an exporter with an underlying
SunJrmpExporter that
exports using a well-known object identifier (4) on the standard
activation port (1098), and a DefaultGroupPolicy instance. |
SystemAccessExporter(Exporter exporter)
Creates an exporter with the specified underlying exporter and a
DefaultGroupPolicy instance. |
SystemAccessExporter(Exporter exporter,
GroupPolicy policy)
Creates an exporter with the specified underlying exporter and the
specified group policy, if any.
|
SystemAccessExporter(GroupPolicy policy)
Creates an exporter with an underlying
SunJrmpExporter that
exports using a well-known object identifier (4) on the standard
activation port (1098), and the specified group policy, if any. |
SystemAccessExporter(int port)
Creates an exporter with an underlying
SunJrmpExporter that
exports using a well-known object identifier (4) on the specified port,
and a DefaultGroupPolicy instance. |
SystemAccessExporter(int port,
GroupPolicy policy)
Creates an exporter with an underlying
SunJrmpExporter that
exports using a well-known object identifier (4) on the specified port,
and the specified group policy, if any. |
| Modifier and Type | Method and Description |
|---|---|
Remote |
export(Remote impl)
Wraps the specified remote object in an
ActivationSystem
implementation that only accepts calls from the local host and
enforces the group policy (if any) before delegating to the specified
remote object, exports the wrapper with the underlying exporter, and
returns the resulting proxy. |
boolean |
unexport(boolean force)
Unexports the remote object that was exported by this
Exporter such that it will no longer receive remote
method invocations that were made possible as a result of exporting
it with this Exporter. |
public SystemAccessExporter()
SunJrmpExporter that
exports using a well-known object identifier (4) on the standard
activation port (1098), and a DefaultGroupPolicy instance.public SystemAccessExporter(GroupPolicy policy)
SunJrmpExporter that
exports using a well-known object identifier (4) on the standard
activation port (1098), and the specified group policy, if any.policy - the group policy, or nullpublic SystemAccessExporter(int port)
SunJrmpExporter that
exports using a well-known object identifier (4) on the specified port,
and a DefaultGroupPolicy instance.port - the port on which to receive calls (if zero, an anonymous
port will be chosen)public SystemAccessExporter(int port,
GroupPolicy policy)
SunJrmpExporter that
exports using a well-known object identifier (4) on the specified port,
and the specified group policy, if any.port - the port on which to receive calls (if zero, an anonymous
port will be chosen)policy - the group policy, or nullpublic SystemAccessExporter(Exporter exporter)
DefaultGroupPolicy instance.exporter - the underlying exporterpublic SystemAccessExporter(Exporter exporter, GroupPolicy policy)
exporter - the underlying exporterpolicy - the group policy, or nullpublic Remote export(Remote impl) throws ExportException
ActivationSystem
implementation that only accepts calls from the local host and
enforces the group policy (if any) before delegating to the specified
remote object, exports the wrapper with the underlying exporter, and
returns the resulting proxy. The wrapper is strongly referenced by
this exporter. For all ActivationSystem and
ActivationAdmin methods, the wrapper throws an
AccessControlException if the client is not calling from
the local host. For the registerGroup and
setActivationGroupDesc methods, the policy (if any)
is checked by calling its checkGroup
method with the ActivationGroupDesc argument.export in interface Exporterimpl - a remote object to exportIllegalArgumentException - if impl does not
implement ActivationSystem or ActivationAdminNullPointerException - if impl is nullIllegalStateException - if an object has already been exported
with this Exporter instanceExportException - if a problem occurs exporting the objectStartablepublic boolean unexport(boolean force)
ExporterExporter such that it will no longer receive remote
method invocations that were made possible as a result of exporting
it with this Exporter. The unexport operation may
not occur if the force argument is false.
This method must only be invoked after the export
method has been invoked on this Exporter instance to
export a remote object successfully.
This method returns true if upon return, the remote
object is no longer exported with this Exporter, and
false if the remote object remains exported with this
Exporter. This method will always return
true if it has returned true previously.
The force parameter serves to indicate whether or not
the caller desires the unexport to occur even if there are known
remote calls pending or in progress to the remote object that were
made possible by this Exporter:
force is true, then the remote
object will be forcibly unexported even if there are remote calls
pending or in progress, and this method will return
true.
force is false, then this acts as
a hint to the implementation that the remote object should not be
unexported if there are known remote calls pending or in progress,
and this method will either unexport the remote object and return
true or not unexport the remote object and return
false. If the implementation detects that there are
indeed remote calls pending or in progress, then it should return
false; otherwise, it must return true.
If the implementation does not support being able to unexport
conditionally based on knowledge of remote calls pending or in
progress, then it must implement this method as if
force were always true.
If the remote object is unexported as a result of this method, then the implementation may (and should, if possible) prevent remote calls in progress from being able to communicate their results successfully.
unexport in interface Exporterforce - 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 2007-2013, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.