edu.csus.ecs.pc2.api

## Interface IRunJudgement

-     public interface IRunJudgement

  A run judgement and fields associated with that judgement.
  Version:
    $Id$
  Author:
    pc2@ecs.csus.edu

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `IClient` | `getJudge()` Get the judge who judged this run.
    `IJudgement` | `getJudgement()` Get the judgement assigned to the run by the Judges.
    `boolean` | `isActive()` Is this the active/current judgement.
    `boolean` | `isComputerJudgement()` Return true if this judgement was a computer (automatic) judgement.
    `boolean` | `isPreliminaryJudgement()` Is this a preliminary (non-final) judgement?.
    `boolean` | `isSendToTeam()` Is this the judgement shown to team? Returns true if judgement to be shown to the team, returns false if the judgment to not be sent/shown to team.
    `boolean` | `isSolved()` Return a boolean indicating whether the run been given a Yes (Correct) judgement.

- - ### Method Detail

    - #### getJudge

          IClient getJudge()

      Get the judge who judged this run.
      Returns:
        the judge who judged this run.

    - #### getJudgement

          IJudgement getJudgement()

      Get the judgement assigned to the run by the Judges.
      Returns:
        the judgement for this run.

    - #### isActive

          boolean isActive()

      Is this the active/current judgement. Only one judgement is active at a time, this is the judgement that currently is displayed.
      Returns:
        true if this judgement is the judgement to be displayed.
      See Also:
        `isSendToTeam()`

    - #### isComputerJudgement

          boolean isComputerJudgement()

      Return true if this judgement was a computer (automatic) judgement.
      Returns:
        true if judged by computer, false if judged by human.

    - #### isSendToTeam

          boolean isSendToTeam()

      Is this the judgement shown to team? Returns true if judgement to be shown to the team, returns false if the judgment to not be sent/shown to team.
      Returns:
        true if judgement to be sent/viewed by team.

    - #### isPreliminaryJudgement

          boolean isPreliminaryJudgement()

      Is this a preliminary (non-final) judgement?.

      Each contest problem a final judgement, some problems are defined to have preliminary judgements, for example computer (automated) judgement with a manual review. In this case the computer judgement would return `true` and the manual judgement would return `false`.

      In the case where a problem is defined a judging type of Computer Judging only (no Manual Review), this method would always return `false`. In this example there would not be a case where this method would return `true`.

      Returns:
        true if a preliminary judgement, false if this is the final judgement.

    - #### isSolved

          boolean isSolved()

      Return a boolean indicating whether the run been given a Yes (Correct) judgement. Note that the value of this method is only meaningful if the Run has been judged.
      Returns:
        true if the run was judged by the Judges as having correctly solved a problem, false otherwise.