Class SimpleTournamentService

  • All Implemented Interfaces:
    TournamentService

    public class SimpleTournamentService
    extends java.lang.Object
    implements TournamentService
    Tournament Service Implementation
    • Constructor Detail

    • Method Detail

      • getTournaments

        public java.util.List<Tournament> getTournaments​(TournamentQueryState state,
                                                         TournamentType type,
                                                         java.time.OffsetDateTime createdAfter,
                                                         java.time.OffsetDateTime createdBefore,
                                                         java.lang.String subdomain)
                                                  throws DataAccessException
        Description copied from interface: TournamentService
        Retrieve a set of tournaments created with your account.
        Specified by:
        getTournaments in interface TournamentService
        Parameters:
        state - Only get tournaments with this state
        type - Only get tournaments with this type
        createdAfter - Get tournaments created after this date
        createdBefore - Get tournaments created before this date
        subdomain - Only get tournaments with this subdomain
        Returns:
        The filtered tournaments
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • getTournaments

        public void getTournaments​(TournamentQueryState state,
                                   TournamentType type,
                                   java.time.OffsetDateTime createdAfter,
                                   java.time.OffsetDateTime createdBefore,
                                   java.lang.String subdomain,
                                   Callback<java.util.List<Tournament>> onSuccess,
                                   Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Retrieve a set of tournaments created with your account.
        Specified by:
        getTournaments in interface TournamentService
        Parameters:
        state - Only get tournaments with this state
        type - Only get tournaments with this type
        createdAfter - Get tournaments created after this date
        createdBefore - Get tournaments created before this date
        subdomain - Only get tournaments with this subdomain
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • getTournament

        public Tournament getTournament​(java.lang.String tournament,
                                        boolean includeParticipants,
                                        boolean includeMatches)
                                 throws DataAccessException
        Description copied from interface: TournamentService
        Retrieve a single tournament record created with your account.
        Specified by:
        getTournament in interface TournamentService
        Parameters:
        tournament - Tournament ID (e.g. 10230) or URL (e.g. 'single_elim' for challonge.com/single_elim). If assigned to a subdomain, URL format must be :subdomain-:tournament_url (e.g. 'test-mytourney' for test.challonge.com/mytourney)
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The matching tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • getTournament

        public void getTournament​(java.lang.String tournament,
                                  boolean includeParticipants,
                                  boolean includeMatches,
                                  Callback<Tournament> onSuccess,
                                  Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Retrieve a single tournament record created with your account.
        Specified by:
        getTournament in interface TournamentService
        Parameters:
        tournament - Tournament ID (e.g. 10230) or URL (e.g. 'single_elim' for challonge.com/single_elim). If assigned to a subdomain, URL format must be :subdomain-:tournament_url (e.g. 'test-mytourney' for test.challonge.com/mytourney)
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • deleteTournament

        public void deleteTournament​(Tournament tournament,
                                     Callback<Tournament> onSuccess,
                                     Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Deletes a tournament along with all its associated records. There is no undo, so use with care!
        Specified by:
        deleteTournament in interface TournamentService
        Parameters:
        tournament - The tournament to delete. Must contain tournament id
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • processCheckIns

        public Tournament processCheckIns​(Tournament tournament,
                                          boolean includeParticipants,
                                          boolean includeMatches)
                                   throws DataAccessException
        Description copied from interface: TournamentService
        This should be invoked after a tournament's check-in window closes before the tournament is started.

        1. Marks participants who have not checked in as inactive. 2. Moves inactive participants to bottom seeds (ordered by original seed). 3. Transitions the tournament state from 'checking_in' to 'checked_in'

        NOTE: Checked in participants on the waiting list will be promoted if slots become available.

        Specified by:
        processCheckIns in interface TournamentService
        Parameters:
        tournament - The tournament to process check ins for. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The updated tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • processCheckIns

        public void processCheckIns​(Tournament tournament,
                                    boolean includeParticipants,
                                    boolean includeMatches,
                                    Callback<Tournament> onSuccess,
                                    Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        This should be invoked after a tournament's check-in window closes before the tournament is started.

        1. Marks participants who have not checked in as inactive. 2. Moves inactive participants to bottom seeds (ordered by original seed). 3. Transitions the tournament state from 'checking_in' to 'checked_in'

        NOTE: Checked in participants on the waiting list will be promoted if slots become available.

        Specified by:
        processCheckIns in interface TournamentService
        Parameters:
        tournament - The tournament to process check ins for. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • abortCheckIn

        public Tournament abortCheckIn​(Tournament tournament,
                                       boolean includeParticipants,
                                       boolean includeMatches)
                                throws DataAccessException
        Description copied from interface: TournamentService
        When your tournament is in a 'checking_in' or 'checked_in' state, there's no way to edit the tournament's start time (start_at) or check-in duration (check_in_duration). You must first abort check-in, then you may edit those attributes.

        1. Makes all participants active and clears their checked_in_at times. 2. Transitions the tournament state from 'checking_in' or 'checked_in' to 'pending'

        Specified by:
        abortCheckIn in interface TournamentService
        Parameters:
        tournament - The tournament to abort check in for. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The updated tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • abortCheckIn

        public void abortCheckIn​(Tournament tournament,
                                 boolean includeParticipants,
                                 boolean includeMatches,
                                 Callback<Tournament> onSuccess,
                                 Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        When your tournament is in a 'checking_in' or 'checked_in' state, there's no way to edit the tournament's start time (start_at) or check-in duration (check_in_duration). You must first abort check-in, then you may edit those attributes.

        1. Makes all participants active and clears their checked_in_at times. 2. Transitions the tournament state from 'checking_in' or 'checked_in' to 'pending'

        Specified by:
        abortCheckIn in interface TournamentService
        Parameters:
        tournament - The tournament to abort check in for. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • startTournament

        public Tournament startTournament​(Tournament tournament,
                                          boolean includeParticipants,
                                          boolean includeMatches)
                                   throws DataAccessException
        Description copied from interface: TournamentService
        Start a tournament, opening up first round matches for score reporting. The tournament must have at least 2 participants.
        Specified by:
        startTournament in interface TournamentService
        Parameters:
        tournament - The tournament to start. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The started tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • startTournament

        public void startTournament​(Tournament tournament,
                                    boolean includeParticipants,
                                    boolean includeMatches,
                                    Callback<Tournament> onSuccess,
                                    Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Start a tournament, opening up first round matches for score reporting. The tournament must have at least 2 participants.
        Specified by:
        startTournament in interface TournamentService
        Parameters:
        tournament - The tournament to start. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • finalizeTournament

        public Tournament finalizeTournament​(Tournament tournament,
                                             boolean includeParticipants,
                                             boolean includeMatches)
                                      throws DataAccessException
        Description copied from interface: TournamentService
        Finalize a tournament that has had all match scores submitted, rendering its results permanent.
        Specified by:
        finalizeTournament in interface TournamentService
        Parameters:
        tournament - The tournament to finalize. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The finalized tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • finalizeTournament

        public void finalizeTournament​(Tournament tournament,
                                       boolean includeParticipants,
                                       boolean includeMatches,
                                       Callback<Tournament> onSuccess,
                                       Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Finalize a tournament that has had all match scores submitted, rendering its results permanent.
        Specified by:
        finalizeTournament in interface TournamentService
        Parameters:
        tournament - The tournament to finalize. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • resetTournament

        public Tournament resetTournament​(Tournament tournament,
                                          boolean includeParticipants,
                                          boolean includeMatches)
                                   throws DataAccessException
        Description copied from interface: TournamentService
        Reset a tournament, clearing all of its scores and attachments. You can then add/remove/edit participants before starting the tournament again.
        Specified by:
        resetTournament in interface TournamentService
        Parameters:
        tournament - The tournament to reset. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The reset tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • resetTournament

        public void resetTournament​(Tournament tournament,
                                    boolean includeParticipants,
                                    boolean includeMatches,
                                    Callback<Tournament> onSuccess,
                                    Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Reset a tournament, clearing all of its scores and attachments. You can then add/remove/edit participants before starting the tournament again.
        Specified by:
        resetTournament in interface TournamentService
        Parameters:
        tournament - The tournament to reset. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful
      • openTournamentForPredictions

        public Tournament openTournamentForPredictions​(Tournament tournament,
                                                       boolean includeParticipants,
                                                       boolean includeMatches)
                                                throws DataAccessException
        Description copied from interface: TournamentService
        Sets the state of the tournament to start accepting predictions. Your tournament's 'prediction_method' attribute must be set to 1 (exponential scoring) or 2 (linear scoring) to use this option. Note: Once open for predictions, match records will be persisted, so participant additions and removals will no longer be permitted.
        Specified by:
        openTournamentForPredictions in interface TournamentService
        Parameters:
        tournament - The tournament to open predictions for. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        Returns:
        The reset tournament
        Throws:
        DataAccessException - Exchange with the rest api or validation failed
      • openTournamentForPredictions

        public void openTournamentForPredictions​(Tournament tournament,
                                                 boolean includeParticipants,
                                                 boolean includeMatches,
                                                 Callback<Tournament> onSuccess,
                                                 Callback<DataAccessException> onFailure)
        Description copied from interface: TournamentService
        Sets the state of the tournament to start accepting predictions. Your tournament's 'prediction_method' attribute must be set to 1 (exponential scoring) or 2 (linear scoring) to use this option. Note: Once open for predictions, match records will be persisted, so participant additions and removals will no longer be permitted.
        Specified by:
        openTournamentForPredictions in interface TournamentService
        Parameters:
        tournament - The tournament to open predictions for. Must contain tournament id
        includeParticipants - Include a list of participants in the response
        includeMatches - Include a list of matches in the response
        onSuccess - Called with result if call was successful
        onFailure - Called with exception if call was not successful