Enum HepMatchOrder

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<HepMatchOrder>

    public enum HepMatchOrder
    extends java.lang.Enum<HepMatchOrder>
    HepMatchOrder specifies the order of graph traversal when looking for rule matches.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      ARBITRARY
      Match in arbitrary order.
      BOTTOM_UP
      Match from leaves up.
      DEPTH_FIRST
      Match in depth-first order.
      TOP_DOWN
      Match from root down.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private HepMatchOrder()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static HepMatchOrder valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static HepMatchOrder[] 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, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

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

      • ARBITRARY

        public static final HepMatchOrder ARBITRARY
        Match in arbitrary order. This is the default because it is efficient, and most rules don't care about order.
      • BOTTOM_UP

        public static final HepMatchOrder BOTTOM_UP
        Match from leaves up. A match attempt at a descendant precedes all match attempts at its ancestors.
      • TOP_DOWN

        public static final HepMatchOrder TOP_DOWN
        Match from root down. A match attempt at an ancestor always precedes all match attempts at its descendants.
      • DEPTH_FIRST

        public static final HepMatchOrder DEPTH_FIRST
        Match in depth-first order.

        It avoids applying a rule to the previous RelNode repeatedly after new vertex is generated in one rule application. It can therefore be more efficient than ARBITRARY in cases such as Union with large fan-out.

    • Constructor Detail

      • HepMatchOrder

        private HepMatchOrder()
    • Method Detail

      • values

        public static HepMatchOrder[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (HepMatchOrder c : HepMatchOrder.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static HepMatchOrder 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