Class CNSService.UserObject

java.lang.Object
org.jcsp.net.cns.CNSService.UserObject
All Implemented Interfaces:
CNSUser, ServiceUserObject
Enclosing class:
CNSService

private class CNSService.UserObject extends Object implements ServiceUserObject, CNSUser
This class acts as a proxy for the name management methods in its outer class.
  • Constructor Details

    • UserObject

      private UserObject()
  • Method Details

    • resolve

      public NetChannelLocation resolve(String name)
      Description copied from interface: CNSUser

      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).

      Specified by:
      resolve in interface CNSUser
      Parameters:
      name - the name of channel to resolve.
      Returns:
      the location to which the name resolved.
    • resolve

      public NetChannelLocation resolve(String name, NameAccessLevel accessLevel)
      Description copied from interface: CNSUser

      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.

      Specified by:
      resolve in interface CNSUser
      Parameters:
      name - the name of channel to resolve.
      accessLevel - the name space in which to resolve the channel name.
      Returns:
      the location to which the name resolved.
    • register

      public ChannelNameKey register(Networked owner, String name)
      Description copied from interface: CNSUser

      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.

      Specified by:
      register in interface CNSUser
      Parameters:
      owner - the Networked object whose location should be registered.
      name - the name against which to register the channel.
      Returns:
      the ChannelNameKey needed for managing the name registration or null if registration failed.
    • register

      public ChannelNameKey register(Networked owner, String name, NameAccessLevel accessLevel)
      Description copied from interface: CNSUser

      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.

      Specified by:
      register in interface CNSUser
      Parameters:
      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.
      Returns:
      the ChannelNameKey needed for managing the name registration or null if registration failed.
      See Also:
    • register

      public ChannelNameKey register(Networked owner, String name, ChannelNameKey key)
      Description copied from interface: CNSUser

      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 CNSUser.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.

      Specified by:
      register in interface CNSUser
      Parameters:
      owner - the Networked object whose location should be registered.
      name - the name against which to register the channel.
      Returns:
      the ChannelNameKey needed for managing the name registration or null if registration failed.
    • register

      public ChannelNameKey register(Networked owner, String name, NameAccessLevel accessLevel, ChannelNameKey key)
      Description copied from interface: CNSUser

      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 CNSUser.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.

      Specified by:
      register in interface CNSUser
      Parameters:
      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.
      Returns:
      the ChannelNameKey needed for managing the name registration or null if registration failed.
      See Also:
    • register

      public ChannelNameKey register(NetChannelLocation ownerLocation, String name, NameAccessLevel accessLevel, ChannelNameKey key)
      Description copied from interface: CNSUser

      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()).

      The name will be registered in the specified name space. This is specified by passing in a NameAccessLevel object.

      This method also allows a leased channel name to be registered against an actual location (see CNSUser.register(Networked, String, NameAccessLevel, ChannelNameKey) ).

      Specified by:
      register in interface CNSUser
      Parameters:
      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.
      Returns:
      the ChannelNameKey needed for managing the name registration or null if registration failed.
      See Also:
    • leaseChannelName

      public ChannelNameKey leaseChannelName(String name, NameAccessLevel accessLevel, ChannelNameKey channelKey) throws ChannelNameException, NameAccessLevelException
      Description copied from interface: CNSUser

      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.

      Specified by:
      leaseChannelName in interface CNSUser
      Parameters:
      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.
      Returns:
      a new ChannelNameKey needed for managing the lease or null if leasing failed.
      Throws:
      ChannelNameException - if the channel name is invalid.
      NameAccessLevelException - if the specifed name space is invalid.
    • deregisterChannelName

      public boolean deregisterChannelName(String name, NameAccessLevel accessLevel, ChannelNameKey channelKey)
      Description copied from interface: CNSUser

      This deregisters a registered or leased Channel name from the Naming Service implementation. A boolean is returned to indicate whether deregistration was successful.

      Specified by:
      deregisterChannelName in interface CNSUser
      Parameters:
      name - the name of the channel as a String.
      channelKey - the ChannelNameKey to use to deregister the Channel name.
      Returns:
      a boolean indicating success.