edu.csus.ecs.pc2.api

## Interface IGroup

-     public interface IGroup

  This interface describes the PC2 API view of a contest Group. Groups can be used by the Contest Administrator to associate Teams together. For example, all teams from a certain geographical region, or with an equivalent background (say, Undergraduate vs. Graduate) can be put together in the same group. The PC2 scoring algorithm implementation can then be used to compute standings on a per-group basis.

  This documentation describes the current draft of the PC2 API, which is subject to change.

  Version:
    $Id$
  Author:
    pc2@ecs.csus.edu

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Check whether this Group is the same as some other Group.
    `String` | `getName()` Get the name of this group.
    `int` | `hashCode()` Get the hashcode associated with this Group.

- - ### Method Detail

    - #### getName

          String getName()

      Get the name of this group.
      Returns:
        A String containing the name of the group.

    - #### equals

          boolean equals(Object obj)

      Check whether this Group is the same as some other Group.

      Determination of whether two Groups are equal is based on whether they refer to the same Group as originally created in PC2 by the Contest Administrator. Note in particular that subsequent changes to a Group made by the Contest Administrator (for example, changes to the Group name) do not affect the result of the `equals()` method; if this Group refers to the same Group as the one indicated by the specified parameter, this method will return true regardless of whether the internal contents of the two Group objects is identical or not.

      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the Group which is to be compared with this Group for equality.
      Returns:
        True if the specified object refers to the same Group as this Group (regardless of the actual content of the two Groups).

    - #### hashCode

          int hashCode()

      Get the hashcode associated with this Group.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        An integer hashcode for this object.