All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.snapscript.tree.collection.RangeOperator Maven / Gradle / Ivy

The newest version!
package org.snapscript.tree.collection;

import org.snapscript.parse.StringToken;

public enum RangeOperator {
   DOT("..", true),
   TO("to", true),
   FROM("from", false);

   public final String operator;
   public final boolean forward;

   private RangeOperator(String operator, boolean forward) {
      this.operator = operator;
      this.forward = forward;
   }

   public boolean isForward() {
      return forward;
   }

   public boolean isReverse() {
      return !forward;
   }

   public static RangeOperator resolveOperator(StringToken token) {
      if(token != null) {
         String value = token.getValue();

         for(RangeOperator operator : VALUES) {
            if (operator.operator.equals(value)) {
               return operator;
            }
         }
      }
      return null;
   }

   private static final RangeOperator[] VALUES = {
        DOT,
        TO,
        FROM
   };
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy