Interface that a class can implement to indicate that instances allow channel names within a naming service to be managed.
Type | Name and description |
---|---|
boolean |
deregisterChannelName(String name, NameAccessLevel accessLevel, ChannelNameKey channelKey) |
ChannelNameKey |
leaseChannelName(String name, NameAccessLevel accessLevel, ChannelNameKey channelKey) |
ChannelNameKey |
register(Networked owner, String name) |
ChannelNameKey |
register(Networked owner, String name, NameAccessLevel accessLevel) |
ChannelNameKey |
register(Networked owner, String name, ChannelNameKey key) |
ChannelNameKey |
register(Networked owner, String name, NameAccessLevel accessLevel, ChannelNameKey key) |
ChannelNameKey |
register(NetChannelLocation ownerLocation, String name, NameAccessLevel accessLevel, ChannelNameKey key) |
NetChannelLocation |
resolve(String name) |
NetChannelLocation |
resolve(String name, NameAccessLevel accessLevel) |
This deregisters a registered or leased Channel name from the Naming Service implementation. A boolean is returned to indicate whether deregistration was successful.
name
- the name of the channel as a String.nameAccessLevel
- the nameAccessLevel of the channel.channelKey
- the ChannelNameKey to use to deregister the
Channel name.
Leases the channel name within the specified name space from the Naming Service Implemenation. Once a name has been leased, a channel cannot be registered with that name without supplying the key returned by the call to this method.
Depending on the implementation, leases may expire, however, they may be renew by recalling this mehtod. Leases can be given up by deregistering the name. Leases should remain even after the obtaining Node has shut down. This allows a channel to move its registered location to another channel on a different Node. There should be no danger of another party managing to obtain the name as transfering a registered name into a lease should be an atomic action.
ChannelNameKey
needed for managing the
lease or null
if leasing failed.name
- the name to lease.accessLevel
- the name space in which to lease the name.channelKey
- the key to use if the name is currently
registered or leased.
This method allows a channel (or any instance of a class implementing
Networked
) to be registered with a Naming
Service Implementation. The name will be registered in the
global name space.
ChannelNameKey
needed for managing
the name registration or null
if registration
failed.owner
- the Networked
object whose location
should be registered.name
- the name against which to register the channel.
This method allows a channel (or any instance of a class implementing
Networked
) to be registered with a Naming Service
Implementation.
The name will be registered in the specified name space. This is
specified by passing in a NameAccessLevel
object.
ChannelNameKey
needed for managing
the name registration or null
if registration
failed.owner
- the Networked
object whose location
should be registered.name
- the name against which to register the channel.accessLevel
- the name space in which to register the channel name.
This method allows a channel (or any instance of a class implementing
Networked
) that has previously been registered
with the to be reregistered with a Naming Service implementation.
The name should have been leased (see
leaseChannelName(String, NameAccessLevel, ChannelNameKey)
). It is necessaray to supply the key that was obtained when
the name was leased. If the channel name has not previously been
registered, then the key can be specified as null
.
The name will be registered in the in the global name space.
ChannelNameKey
needed for managing
the name registration or null
if registration
failed.owner
- the Networked
object whose location
should be registered.name
- the name against which to register the channel.accessLevel
- the name space in which to register the channel name.
This method allows a channel (or any instance of a class implementing
Networked
) that has previously been registered
to be reregistered with the Naming Service implementation. The name
should have been leased (see
leaseChannelName(String, NameAccessLevel, ChannelNameKey)
). It is necessaray to supply the key that was obtained when
the name was leased. If the channel name has not previously been
registered, then the key can be specified as null
.
The name will be registered in the specified name space. This is
specified by passing in a NameAccessLevel
object.
ChannelNameKey
needed for managing
the name registration or null
if registration
failed.owner
- the Networked
object whose location
should be registered.name
- the name against which to register the channel.accessLevel
- the name space in which to register the channel name.key
- the ChannelNameKey
returned when the
name was leased.
This method allows a channel's location to be registered against a
name in the Naming Service implementation. It differs from the other
register methods in that it takes a NetChannelLocation
object instead of a Networked
object. This can be obtained
from a Networked
object by invoking its
getChannelLocation()
method (see
Networked#getChannelLocation()#getChannelLocation()
).
The name will be registered in the specified name space. This is
specified by passing in a NameAccessLevel
object.
register(Networked, String, NameAccessLevel, ChannelNameKey)
).
ChannelNameKey
needed for managing
the name registration or null
if registration
failed.ownerLocation
- the location of a channel to be registered
against the name.name
- the name against which to register the channel.accessLevel
- the name space in which to register the channel name.key
- the ChannelNameKey
returned when the
name was leased.
This method resolves a channel name into a
NetChannelLocation
object. The name should be
assumed to be in the global name space (see
NameAccessLevel.GLOBAL_ACCESS_LEVEL).
name
- the name of channel to resolve.
This method resolves a channel name into a
NetChannelLocation
object. The name must
exist in the specified name space.
The name space is specified by passing in a
NameAccessLevel
object. A name space
includes itself and any name space higher up in the
hierarchy. The global name space is the highest level of
name space.
name
- the name of channel to resolve.accessLevel
- the name space in which to resolve
the channel name.