Class NumberRange


  • public abstract class NumberRange
    extends Object
    数字序列的模式
    存有[start, end]和i18nKey
    都是闭区间
    • Field Detail

      • start

        protected final Integer start
        这个周状态模式的起始周
      • end

        protected Integer end
        这个周状态模式的结束周
      • lastEnd

        protected Integer lastEnd
        end上一次的值
      • abandon

        protected boolean abandon
        本NumberRange是否丢弃
      • i18nKey

        protected String i18nKey
    • Constructor Detail

      • NumberRange

        protected NumberRange​(int number)
    • Method Detail

      • newInstance

        public static NumberRange newInstance​(int number)
        返回默认的NumberRange(连续模式)
        Parameters:
        number -
        Returns:
      • getStart

        public Integer getStart()
      • isAbandon

        public boolean isAbandon()
      • getI18nKey

        public String getI18nKey()
      • test

        public boolean test​(int number)
        测试新的number是否符合本Range所对应的模式。
        如果符合,那么新的number就会变成end
        number必须大于等于 end
        Parameters:
        number -
        Returns:
      • internalTest

        protected abstract boolean internalTest​(int weekIndex)
      • guessNextPattern

        public NumberRange guessNextPattern​(int number)
         当新输入的number不符合当前Range时,猜测一个新的Range
         注意:前提必须是test的结果不符合Range
         一旦guess过之后,本Range就不应该再被使用了
         
        Parameters:
        number -
        Returns: