Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.jini.discovery
Interface DiscoveryGroupManagement

All Known Implementing Classes:
  LookupDiscovery, LookupDiscoveryManager

public interface DiscoveryGroupManagement

This interface defines methods and constants related to the management of the sets of lookup services that are to be discovered using the multicast discovery protocol; that is, lookup services that are discovered by way of group discovery. The methods of this interface define how an entity retrieves or modifies the set of groups associated with those lookup services.

Field Summary
`static String[]` | `ALL_GROUPS` Convenience constant used to request that attempts be made to discover all lookup services that are within range, and which belong to any group.
`static String[]` | `NO_GROUPS` Convenience constant used to request that discovery by group membership be halted (or not started, if the group discovery mechanism is simply being instantiated).

Method Summary
`void` | `addGroups(String[] groups)` Adds a set of group names to the managed set of groups.
`String[]` | `getGroups()` Returns an array consisting of the elements of the managed set of groups; that is, the names of the groups whose members are the lookup services to discover.
`void` | `removeGroups(String[] groups)` Deletes a set of group names from the managed set of groups.
`void` | `setGroups(String[] groups)` Replaces all of the group names in the managed set with names from a new set.

Field Detail

### ALL_GROUPS

    public static final String[] ALL_GROUPS

  Convenience constant used to request that attempts be made to discover all lookup services that are within range, and which belong to any group.

### NO_GROUPS

    public static final String[] NO_GROUPS

  Convenience constant used to request that discovery by group membership be halted (or not started, if the group discovery mechanism is simply being instantiated).

Method Detail

### getGroups

    public String[] getGroups()

  Returns an array consisting of the elements of the managed set of groups; that is, the names of the groups whose members are the lookup services to discover. If the managed set of groups is empty, this method will return the empty array. If there is no managed set of groups, then null is returned; indicating that all groups are to be discovered. This method returns a new array upon each invocation.

  Returns:
    `String` array consisting of the elements of the managed set of groups
  See Also:
    `setGroups(java.lang.String[])`

### addGroups

    public void addGroups(String[] groups)
                   throws IOException

  Adds a set of group names to the managed set of groups. Elements in the input set that duplicate elements already in the managed set will be ignored. Once a new name is added to the managed set, attempts will be made to discover all (as yet) undiscovered lookup services that are members of the group having that name. If the empty array (NO_GROUPS) is input, the managed set of groups will not change. Note that any entity that invokes this method must have `DiscoveryPermission` on each of the groups in the new set, otherwise a `SecurityException` will be propagated through this method.

  Parameters:
    `groups` - `String` array consisting of the group names to add to the managed set.
  Throws:
    `IOException` - because an invocation of this method may result in the re-initiation of the discovery process, which can throw an `IOException` when socket allocation occurs.
    `UnsupportedOperationException` - this exception occurs when there is no managed set of groups to augment. That is, the current managed set of groups is `null`. If the managed set of groups is `null`, all groups are being discovered; thus, requesting that a set of groups be added to the set of all groups makes no sense.
    `NullPointerException` - this exception occurs when either `null` is input to the `groups` parameter, or one or more of the elements of the `groups` parameter is `null`. If a `null` is input, then the entity is effectively requesting that "all groups" be added to the current managed set of groups; which is not allowed. (Note that if the entity wishes to change the managed set of groups from a finite set of names to "all groups", the `setGroups` method should be invoked with `null` input.)
  See Also:
    `removeGroups(java.lang.String[])`

### setGroups

    public void setGroups(String[] groups)
                   throws IOException

  Replaces all of the group names in the managed set with names from a new set. Once a new group name has been placed in the managed set, if there are lookup services belonging to that group that have already been discovered, no event will be sent to the entity's listener for those particular lookup services. Attempts to discover all (as yet) undiscovered lookup services belonging to that group will continue to be made.

  If null (`ALL_GROUPS`) is input to this method, then attempts will be made to discover all (as yet) undiscovered lookup services that are within range, and which are members of any group. If the empty array (`NO_GROUPS`) is input, then group discovery will cease until this method is invoked with an input parameter that is non-`null` and non-empty. Note that any entity that invokes this method must have `DiscoveryPermission` on each of the groups in the new set, otherwise a `SecurityException` will be propagated through this method.

  Parameters:
    `groups` - `String` array consisting of the group names that will replace the current names in the managed set.
  Throws:
    `IOException` - because an invocation of this method may result in the re-initiation of the discovery process, which can throw an `IOException` when socket allocation occurs.
  See Also:
    `getGroups()`

### removeGroups

    public void removeGroups(String[] groups)

  Deletes a set of group names from the managed set of groups. If the empty array (`NO_GROUPS`) is input, this method takes no action.

  Parameters:
    `groups` - `String` array consisting of the group names that will be removed from the managed set.
  Throws:
    `UnsupportedOperationException` - this exception occurs when there is no managed set of groups from which remove elements.
    `NullPointerException` - this exception occurs when `null` is input to the `groups` parameter.
  See Also:
    `addGroups(java.lang.String[])`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Sun Microsystems, Inc. All rights reserved