edu.csus.ecs.pc2.api

## Interface ILanguage

-     public interface ILanguage

  This interface describes the PC2 API view of a contest Language.

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

  Version:
    $Id: ILanguage.java 1303 2008-02-20 03:59:22Z clevengr $
  Author:
    pc2@ecs.csus.edu

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)` Check whether this Language is the same as some other Language.
    `String` | `getName()` Get the name for this language as configured by the Contest Administrator.
    `int` | `hashCode()` Get the hashcode associated with this client.

- - ### Method Detail

    - #### getName

          String getName()

      Get the name for this language as configured by the Contest Administrator.
      Returns:
        A String containing the name of the language.

    - #### equals

          boolean equals(Object obj)

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

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

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

    - #### hashCode

          int hashCode()

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