Interface ProcessingOrder

All Known Implementing Classes:
DefaultProcessingOrders
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ProcessingOrder
Interface for entities that specify the order in which blue states are processed (i.e., considered for merges). This class contains a single method, which creates a worklist (i.e., a Queue) in which blue states are maintained. A class implementing this interface can establish specific ordering constraints on the returned worklist, such as LIFO or FIFO behavior, or ordering according to a certain Comparator.

This interface is provided for extensibility only, but most probably does not need to be implemented by a user. See DefaultProcessingOrders for a (probably) sufficient set of pre-defined processing orders.

See Also:
  • Method Details

    • createWorklist

      <S extends AbstractBlueFringePTAState<S, ?, ?>> Queue<PTATransition<S>> createWorklist()
      Creates a worklist for managing the set of blue states in the RPNI algorithm.
      Type Parameters:
      S - the (concrete) state type
      Returns:
      a worklist with some specific ordering constraints