edu.csus.ecs.pc2.api

## Interface IStanding

-     public interface IStanding

  This interface describes the PC2 API view of the standing (ranking) information for a particular `IClient` as determined by the current PC2 Scoring Algorithm.

  An `IStanding` object contains information about the standing (ranking) of one particular team in the contest.

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

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

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IClient` | `getClient()` Get the `IClient` associated with this IStanding object.
    `int` | `getNumProblemsSolved()` Get the number of contest problems which the team represented by this `IStanding` object has solved.
    `int` | `getPenaltyPoints()` Get the total number of penalty points assigned by the currently active PC2 scoring algorithm to the team represented by this `IClient`.
    `IProblemDetails[]` | `getProblemDetails()` Get the submission and scoring details for each problem.
    `int` | `getRank()` Get the current rank position (where 1 represents first place, 2 represents second place, etc.) assigned to the team represented by this `IClient` by the PC2 scoring algorithm.

- - ### Method Detail

    - #### getClient

          IClient getClient()

      Get the `IClient` associated with this IStanding object.
      Returns:
        An object of type `IClient` representing the client to which this IStanding object applies.

    - #### getNumProblemsSolved

          int getNumProblemsSolved()

      Get the number of contest problems which the team represented by this `IStanding` object has solved.
      Returns:
        the number of problems solved by the team to which this `IStanding` applies.

    - #### getPenaltyPoints

          int getPenaltyPoints()

      Get the total number of penalty points assigned by the currently active PC2 scoring algorithm to the team represented by this `IClient`.
      Returns:
        the number of penalty points assigned to this team by the scoring algorithm.

    - #### getRank

          int getRank()

      Get the current rank position (where 1 represents first place, 2 represents second place, etc.) assigned to the team represented by this `IClient` by the PC2 scoring algorithm.

      Note that assignment of rank numbers is a function of the plugin Scoring Algorithm. Since there is no predefined standard for how a scoring algorithm must handle assignment of rankings to teams which are tied, it is possible that this method would return different ranks for teams with the same computed score, or would return the same rank for teams with the same computed score.

      Returns:
        an integer representing a team's rank in the contest standings as determined by the currently active PC2 scoring algorithm

    - #### getProblemDetails

          IProblemDetails[] getProblemDetails()

      Get the submission and scoring details for each problem. The array is in the order: site, client, problem
      Returns:
        an array of information about the problem submission and scoring.