## Uses of Interface
edu.csus.ecs.pc2.api.IProblem

- Packages that use IProblem
  Package | Description
  --- | ---
  edu.csus.ecs.pc2.api | Classes related to pc2 API
  edu.csus.ecs.pc2.api.listener | Classes related to pc2 API listeners.

- - ### Uses of IProblem in edu.csus.ecs.pc2.api

    Methods in edu.csus.ecs.pc2.api that return IProblem
    Modifier and Type | Method and Description
    --- | ---
    `IProblem[]` | IContest.`getAllProblems()` Get an ordered list of all contest problems (hidden or non-hidden).
    `IProblem[]` | IContest.`getClarificationCategories()` Get an ordered list of all currently defined clarification categories.
    `IProblem` | IRun.`getProblem()` Get the problem for which this run was submitted.
    `IProblem` | IClarification.`getProblem()` Get the problem for which this clarification was submitted.
    `IProblem` | IProblemDetails.`getProblem()` A Contest Problem.
    `IProblem[]` | IContest.`getProblems()` Get an ordered list of all currently defined contest problems.

    Methods in edu.csus.ecs.pc2.api with parameters of type IProblem
    Modifier and Type | Method and Description
    --- | ---
    `void` | ServerConnection.`submitClarification(IProblem problem, String question)` Submit a clarification request to the PC2 Server.
    `void` | ServerConnection.`submitJudgeRun(IProblem problem, ILanguage language, edu.csus.ecs.pc2.core.model.IFile mainFile)` Submit a Judge run (a run which the Judges are expected to evaluate and count for scoring) using `IFile`s.
    `void` | ServerConnection.`submitJudgeRun(IProblem problem, ILanguage language, edu.csus.ecs.pc2.core.model.IFile mainFile, edu.csus.ecs.pc2.core.model.IFile[] additionalFiles)` Submit a Judge run (a run which the Judges are expected to evaluate and count for scoring) using `IFile`s.
    `void` | ServerConnection.`submitJudgeRun(IProblem problem, ILanguage language, edu.csus.ecs.pc2.core.model.IFile mainFile, edu.csus.ecs.pc2.core.model.IFile[] additionalFiles, long overrideSubmissionTimeMS, long overrideRunId)` Submit a Judge run (a run which the Judges are expected to evaluate and count for scoring) using `IFile`s.
    `void` | ServerConnection.`submitJudgeRun(IProblem problem, ILanguage language, String mainFileName)` Submit a Judge Run (a run which the Judges are expected to evaluate and count for scoring) using String filenames.
    `void` | ServerConnection.`submitJudgeRun(IProblem problem, ILanguage language, String mainFileName, String[] additionalFileNames)` Submit a Judge run (a run which the Judges are expected to evaluate and count for scoring) using String filenames.
    `void` | ServerConnection.`submitJudgeRun(IProblem problem, ILanguage language, String mainFileName, String[] additionalFileNames, long overrideSubmissionTimeMS, long overrideRunId)` Submit a Judge run (a run which the Judges are expected to evaluate and count for scoring) using String filenames.
    `void` | ServerConnection.`submitTestRun(IProblem problem, ILanguage language, edu.csus.ecs.pc2.core.model.IFile mainFile, edu.csus.ecs.pc2.core.model.IFile testDataFile)` Submit a Test run (a run which will be executed but will not affect a team's score) using `IFile`s.
    `void` | ServerConnection.`submitTestRun(IProblem problem, ILanguage language, edu.csus.ecs.pc2.core.model.IFile mainFile, edu.csus.ecs.pc2.core.model.IFile testDataFile, edu.csus.ecs.pc2.core.model.IFile[] additionalSourceFiles, edu.csus.ecs.pc2.core.model.IFile[] additionalTestDataFiles)` Submit a Test run (a run which will be executed but will not affect a team's score) using `IFile`s.
    `void` | ServerConnection.`submitTestRun(IProblem problem, ILanguage language, String mainFileName, String testDataFileName)` Submit a Test run (a run which will be executed but will not affect a team's score) using String filenames.
    `void` | ServerConnection.`submitTestRun(IProblem problem, ILanguage language, String mainFileName, String testDataFileName, String[] otherSourceFileNames, String[] otherDataFileNames)` Submit a Test run (a run which will be executed but will not affect a team's score) using String filenames.

  - ### Uses of IProblem in edu.csus.ecs.pc2.api.listener

    Methods in edu.csus.ecs.pc2.api.listener that return IProblem
    Modifier and Type | Method and Description
    --- | ---
    `IProblem` | ContestEvent.`getProblem()` Get the Problem info associated with events of type `ContestEvent.EventType.PROBLEM`.

    Constructors in edu.csus.ecs.pc2.api.listener with parameters of type IProblem
    Constructor and Description
    `ContestEvent(ContestEvent.EventType eventType, IProblem problem)` Construct an event representing a change in a contest Problem.