All Implemented Interfaces:
Serializable, Cloneable, Comparable<Traverser<T>>, Traverser<T>, Traverser.Admin<T>, Attachable<T>
Direct Known Subclasses:
B_O_S_SE_SL_Traverser

public class B_O_Traverser<T> extends O_Traverser<T>
Author:
Marko A. Rodriguez (http://markorodriguez.com)
See Also:
  • Field Details

    • bulk

      protected long bulk
    • future

      protected String future
  • Constructor Details

    • B_O_Traverser

      protected B_O_Traverser()
    • B_O_Traverser

      public B_O_Traverser(T t, long initialBulk)
  • Method Details

    • setBulk

      public void setBulk(long count)
      Description copied from interface: Traverser.Admin
      Set the number of traversers represented by this traverser.
      Specified by:
      setBulk in interface Traverser.Admin<T>
      Overrides:
      setBulk in class AbstractTraverser<T>
      Parameters:
      count - the number of traversers
    • bulk

      public long bulk()
      Description copied from interface: Traverser
      A traverser may represent a grouping of traversers to allow for more efficient data propagation.
      Specified by:
      bulk in interface Traverser<T>
      Overrides:
      bulk in class AbstractTraverser<T>
      Returns:
      the number of traversers represented in this traverser.
    • merge

      public void merge(Traverser.Admin<?> other)
      Description copied from interface: Traverser.Admin
      When two traversers are have equality with each other, then they can be merged. This method is used to merge the traversers into a single traverser. This is used for optimization where instead of enumerating all traversers, they can be counted.
      Specified by:
      merge in interface Traverser.Admin<T>
      Overrides:
      merge in class O_Traverser<T>
      Parameters:
      other - the other traverser to merge into this traverser. Once merged, the other can be garbage collected.
    • getStepId

      public String getStepId()
      Description copied from interface: Traverser.Admin
      Get the step id of where the traverser is located. This is typically used in multi-machine systems that require the movement of traversers between different traversal instances.
      Specified by:
      getStepId in interface Traverser.Admin<T>
      Overrides:
      getStepId in class AbstractTraverser<T>
      Returns:
      The future step for the traverser
    • setStepId

      public void setStepId(String stepId)
      Description copied from interface: Traverser.Admin
      Set the step id of where the traverser is located. If the future is Traverser.Admin.HALT, then Traverser.Admin.isHalted() is true.
      Specified by:
      setStepId in interface Traverser.Admin<T>
      Overrides:
      setStepId in class AbstractTraverser<T>
      Parameters:
      stepId - The future step of the traverser
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class O_Traverser<T>
    • equals

      protected final boolean equals(B_O_Traverser other)
    • equals

      public boolean equals(Object object)
      Overrides:
      equals in class O_Traverser<T>