Enum Operator

java.lang.Object
java.lang.Enum<Operator>
fr.iMath.objects.Operator
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<Operator>, java.lang.constant.Constable

public enum Operator
extends java.lang.Enum<Operator>
Operator class.
Author:
HESEQUE Antoine
  • Nested Class Summary

    Nested classes/interfaces inherited from class java.lang.Enum

    java.lang.Enum.EnumDesc<E extends java.lang.Enum<E>>
  • Enum Constant Summary

    Enum Constants 
    Enum Constant Description
    DIVIDE  
    LEFTPARENTHESIS  
    MINUS  
    MULTIPLY  
    PLUS  
    POWER  
    RIGHTPARENTHESIS  
  • Field Summary

    Fields 
    Modifier and Type Field Description
    private Assoc associativity
    The associativity for this Operator.
    private java.lang.String operator
    Operator name given as a String
    private int precedence
    The priority for this operator.
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    private Operator​(java.lang.String operator, int precedence, Assoc associativity)
    Create the operator automatically when using (for instance) Operator a = Operator.ADD;
  • Method Summary

    Modifier and Type Method Description
    Assoc getAssociativity()
    Return the associativity of the operator.
    java.lang.String getOperator()
    Return the operator as a String.
    int getPrecedence()
    Return the priority of the operator.
    static Operator valueOf​(java.lang.String name)
    Returns the enum constant of this type with the specified name.
    static Operator[] values()
    Returns an array containing the constants of this enum type, in the order they are declared.

    Methods inherited from class java.lang.Enum

    clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

    Methods inherited from class java.lang.Object

    getClass, notify, notifyAll, wait, wait, wait
  • Enum Constant Details

  • Field Details

    • operator

      private java.lang.String operator
      Operator name given as a String
    • precedence

      private int precedence
      The priority for this operator. Used to execute the ShuntingYard Algorithm
      See Also:
      ShuntingYardAlgorithm
    • associativity

      private Assoc associativity
      The associativity for this Operator. Can be LEFT_ASSOC or RIGHT_ASSOC
  • Constructor Details

    • Operator

      private Operator​(java.lang.String operator, int precedence, Assoc associativity)
      Create the operator automatically when using (for instance) Operator a = Operator.ADD;
      Parameters:
      operator - Operator in String format
      precedence - Priority of the operator
      associativity - Associativity of the operator
  • Method Details

    • values

      public static Operator[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static Operator valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
      java.lang.NullPointerException - if the argument is null
    • getOperator

      public java.lang.String getOperator()
      Return the operator as a String.
      Returns:
      the operator
    • getPrecedence

      public int getPrecedence()
      Return the priority of the operator.
      Returns:
      the priority
    • getAssociativity

      public Assoc getAssociativity()
      Return the associativity of the operator.
      Returns:
      the associativity