Class JobBatch

java.lang.Object
org.eclipse.epsilon.erl.execute.data.JobBatch
All Implemented Interfaces:
Serializable, Cloneable

public class JobBatch extends Object implements Serializable, Cloneable
Simple convenience input for splitting deterministically-ordered jobs and processing them in chunks based on their position in the list.
Since:
1.6
Author:
Sina Madani
See Also:
  • Field Details

    • from

      public int from
      The start index.
    • to

      public int to
      The end index.
  • Constructor Details

    • JobBatch

      public JobBatch()
    • JobBatch

      public JobBatch(int from, int to)
  • Method Details

    • clone

      protected JobBatch clone()
      Overrides:
      clone in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • getBatches

      public static List<JobBatch> getBatches(int totalJobs, int chunks)
      Provides a List of indices based on the desired split size.
      Parameters:
      totalJobs - The size of the source List being split
      chunks - The range (i.e. to - from) of each batch. The last batch may be smaller than this but the other batches are guaranteed to be of this size.
      Returns:
      A Serializable List of indexes with totalJobs/batches increments.
    • splitToList

      public <T> List<T> splitToList(T[] arr)
    • split

      public <T> T[] split(T[] arr)
    • split

      public <T> List<T> split(List<T> list)
      Splits the given list based on this class's indices.
      Type Parameters:
      T - The type of the List
      Parameters:
      list - The list to call List.subList(int, int) on
      Returns:
      The split list.