Class DisjointBuilder<T>
- java.lang.Object
-
- org.openjdk.jmc.flightrecorder.internal.util.DisjointBuilder<T>
-
public class DisjointBuilder<T> extends java.lang.ObjectAn 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 interfaceDisjointBuilder.ArrayFactory<U>private static classDisjointBuilder.DisjointArray<T>
-
Field Summary
Fields Modifier and Type Field Description private static IMemberAccessor<IQuantity,DisjointBuilder.DisjointArray<?>>DA_ENDprivate static IMemberAccessor<IQuantity,DisjointBuilder.DisjointArray<?>>DA_STARTprivate IMemberAccessor<IQuantity,? super T>endAccessorprivate DisjointBuilder.DisjointArray<T>[]lanesprivate intnoLanesprivate 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 voidadd(T e)private intaddToNewLane(T e, IQuantity start, IQuantity end)private intaddToOtherLane(T e, IQuantity start, IQuantity end)private voidsortLanes(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)
-
-