Enum ExecutionStrategy

java.lang.Object
java.lang.Enum<ExecutionStrategy>
com.bazaarvoice.jolt.common.ExecutionStrategy
All Implemented Interfaces:
Serializable, Comparable<ExecutionStrategy>

public enum ExecutionStrategy extends Enum<ExecutionStrategy>
  • Enum Constant Summary

    Enum Constants
    Enum Constant
    Description
    This is identical to AVAILABLE_LITERALS, except for the fact that it does not skip keys if its missing in the input, like literal does Given this works like defaultr, a missing key is our point of entry to insert a default value, either from a passed context or a hardcoded value.
     
    The performance assumption built into this code is that the literal values in the spec, are generally smaller than the number of potential keys to check in the input.
    We have both literal and computed children, but we have determined that there is no way an input key could match one of our literal and computed children.
    If the CompositeSpec only has computed children, we can avoid checking the getLiteralChildren() altogether, and we can do a slightly better iteration (HashSet.entrySet) across the input.
    In order to implement the key precedence order, we have to process each input "key", first to see if it matches any literals, and if it does not, check against each of the computed
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    process(OrderedCompositeSpec spec, Optional<Object> inputOptional, WalkedPath walkedPath, Map<String,Object> output, Map<String,Object> context)
     
    Returns the enum constant of this type with the specified name.
    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 Details

    • AVAILABLE_LITERALS

      public static final ExecutionStrategy AVAILABLE_LITERALS
      The performance assumption built into this code is that the literal values in the spec, are generally smaller than the number of potential keys to check in the input. More specifically, the assumption here is that the set of literalChildren is smaller than the input "keyset".
    • ALL_LITERALS

      public static final ExecutionStrategy ALL_LITERALS
      This is identical to AVAILABLE_LITERALS, except for the fact that it does not skip keys if its missing in the input, like literal does Given this works like defaultr, a missing key is our point of entry to insert a default value, either from a passed context or a hardcoded value.
    • COMPUTED

      public static final ExecutionStrategy COMPUTED
      If the CompositeSpec only has computed children, we can avoid checking the getLiteralChildren() altogether, and we can do a slightly better iteration (HashSet.entrySet) across the input.
    • CONFLICT

      public static final ExecutionStrategy CONFLICT
      In order to implement the key precedence order, we have to process each input "key", first to see if it matches any literals, and if it does not, check against each of the computed
    • AVAILABLE_LITERALS_WITH_COMPUTED

      public static final ExecutionStrategy AVAILABLE_LITERALS_WITH_COMPUTED
      We have both literal and computed children, but we have determined that there is no way an input key could match one of our literal and computed children. Hence we can safely run each one.
    • ALL_LITERALS_WITH_COMPUTED

      public static final ExecutionStrategy ALL_LITERALS_WITH_COMPUTED
  • Method Details

    • values

      public static ExecutionStrategy[] 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 ExecutionStrategy valueOf(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:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • process

      public void process(OrderedCompositeSpec spec, Optional<Object> inputOptional, WalkedPath walkedPath, Map<String,Object> output, Map<String,Object> context)