Package qxsl.ruler

Class Program

  • All Implemented Interfaces:
    Iterable<Section>

    public abstract class Program
    extends Contest
    コンテストの日程はこのクラスを継承します。
    Since:
    2022/08/01
    • Constructor Detail

      • Program

        public Program​(Section... sections)
        指定された部門を有する規約を構築します。
        Parameters:
        sections - 部門の集合
    • Method Detail

      • host

        public abstract String host()
        コンテストの運営の名前を返します。
        Returns:
        運営の名前
      • mail

        public abstract String mail()
        コンテストの運営の連絡先を返します。
        Returns:
        運営の連絡先
      • link

        public abstract String link()
        コンテストの規約の参照先を返します。
        Returns:
        規約の参照先
      • help

        public abstract String help()
        参加者を助ける文字列を返します。
        Returns:
        助けとなる文字列
        Since:
        2022/08/01
      • year

        public int year()
        コンテストの開催年を返します。
        Returns:
        名前
        Since:
        2022/07/23
      • getStartDay

        public final LocalDate getStartDay()
        コンテストの開始日を返します。
        Returns:
        開始日
      • getFinalDay

        public final LocalDate getFinalDay()
        コンテストの終了日を返します。
        Returns:
        終了日
      • getDeadLine

        public final LocalDate getDeadLine()
        コンテストの締切日を返します。
        Returns:
        締切日
      • getStartDay

        public abstract LocalDate getStartDay​(int year)
        指定された年のコンテストの開始日を計算します。
        Parameters:
        year - 開催年
        Returns:
        開始日
      • getFinalDay

        public abstract LocalDate getFinalDay​(int year)
        指定された年のコンテストの終了日を計算します。
        Parameters:
        year - 開催年
        Returns:
        終了日
      • getDeadLine

        public abstract LocalDate getDeadLine​(int year)
        指定された年のコンテストの締切日を計算します。
        Parameters:
        year - 開催年
        Returns:
        締切日
      • accept

        public final boolean accept()
        現時点で参加登録が受付可能か確認します。
        Returns:
        現在時刻で受付可能な場合は真
      • finish

        public final boolean finish()
        現時点で集計結果が閲覧可能か確認します。
        Returns:
        現在時刻で閲覧可能な場合は真
      • accept

        public boolean accept​(ZoneId zone)
        現時点で参加登録が受付可能か確認します。
        Parameters:
        zone - タイムゾーン
        Returns:
        現在時刻で受付可能な場合は真
      • finish

        public boolean finish​(ZoneId zone)
        現時点で集計結果が閲覧可能か確認します。
        Parameters:
        zone - タイムゾーン
        Returns:
        現在時刻で閲覧可能な場合は真
      • limitMultipleEntry

        public abstract int limitMultipleEntry​(String code)
        複数の部門に登録可能な場合の限度を確認します。
        Parameters:
        code - 確認の対象となる部門の分類
        Returns:
        登録可能な個数の限度
        Since:
        2022/07/17
      • conflict

        public abstract boolean conflict​(Section[] entries)
        指定された部門にまとめて登録可能か確認します。
        Parameters:
        entries - 参加を試みる部門の配列
        Returns:
        規約に違反する場合は真
        Since:
        2022/07/17