Class DisjointBuilder<T>
- java.lang.Object
-
- org.openjdk.jmc.flightrecorder.internal.util.DisjointBuilder<T>
-
public class DisjointBuilder<T> extends java.lang.Object
An object collector used to place ranged objects in multiple arrays, where the objects in each array are sorted and disjunct
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DisjointBuilder.ArrayFactory<U>
private static class
DisjointBuilder.DisjointArray<T>
-
Field Summary
Fields Modifier and Type Field Description private static IMemberAccessor<IQuantity,DisjointBuilder.DisjointArray<?>>
DA_END
private static IMemberAccessor<IQuantity,DisjointBuilder.DisjointArray<?>>
DA_START
private IMemberAccessor<IQuantity,? super T>
endAccessor
private DisjointBuilder.DisjointArray<T>[]
lanes
private int
noLanes
private IMemberAccessor<IQuantity,? super T>
startAccessor
-
Constructor Summary
Constructors Constructor Description DisjointBuilder(IMemberAccessor<IQuantity,? super T> startAccessor, IMemberAccessor<IQuantity,? super T> endAccessor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(T e)
private int
addToNewLane(T e, IQuantity start, IQuantity end)
private int
addToOtherLane(T e, IQuantity start, IQuantity end)
private void
sortLanes(int fromIndex)
static <U> java.util.Collection<U[]>
toArrays(java.lang.Iterable<? extends DisjointBuilder<U>> collections, DisjointBuilder.ArrayFactory<U> arrayFactory)
-
-
-
Field Detail
-
DA_START
private static final IMemberAccessor<IQuantity,DisjointBuilder.DisjointArray<?>> DA_START
-
DA_END
private static final IMemberAccessor<IQuantity,DisjointBuilder.DisjointArray<?>> DA_END
-
noLanes
private int noLanes
-
lanes
private DisjointBuilder.DisjointArray<T>[] lanes
-
startAccessor
private final IMemberAccessor<IQuantity,? super T> startAccessor
-
endAccessor
private final IMemberAccessor<IQuantity,? super T> endAccessor
-
-
Constructor Detail
-
DisjointBuilder
public DisjointBuilder(IMemberAccessor<IQuantity,? super T> startAccessor, IMemberAccessor<IQuantity,? super T> endAccessor)
-
-
Method Detail
-
add
public void add(T e)
-
sortLanes
private void sortLanes(int fromIndex)
-
toArrays
public static <U> java.util.Collection<U[]> toArrays(java.lang.Iterable<? extends DisjointBuilder<U>> collections, DisjointBuilder.ArrayFactory<U> arrayFactory)
-
-