Java 类java.util.function.IntSupplier 实例源码
项目:prngine
文件:Random32.java
/**
* Create a new {@code Random64} instance, where the random numbers are
* generated by the given long {@code supplier}.
*
* @param supplier the random number supplier
* @return a new {@code Random64} instance
* @throws java.lang.NullPointerException if the given {@code supplier} is
* {@code null}.
*/
public static Random32 of(final IntSupplier supplier) {
Objects.requireNonNull(supplier);
return new Random32() {
private static final long serialVersionUID = 1L;
private final Boolean _sentry = Boolean.TRUE;
@Override
public int nextInt() {
return supplier.getAsInt();
}
@Override
public void setSeed(final long seed) {
if (_sentry != null) {
throw new UnsupportedOperationException(
"The 'setSeed(long)' method is not supported."
);
}
}
};
}
项目:osgiaas
文件:OsgiaasJavaCompilerServiceTest.java
@Test
public void canCastClassToKnownInterfaceAndUsePackageName() throws Exception {
String classDef = "package com.acme.util;" +
"import java.util.function.IntSupplier;" +
"public class ZeroSupplier implements IntSupplier {" +
"public int getAsInt() { return 0; }" +
"}";
Class<?> cls = javacService.compileJavaClass( DefaultClassLoaderContext.INSTANCE,
"com.acme.util.ZeroSupplier", classDef )
.orElseThrow( () -> new AssertionError( "Failed to compile class" ) );
IntSupplier instance = ( IntSupplier ) cls.newInstance();
int zero = instance.getAsInt();
assertEquals( 0, zero );
}
项目:hdf5-java-bindings
文件:HDF5File.java
/**
* General dataset making recipe.
* @param fullPath the dataset full path.
* @param typeIdSupplier type id supplier lambda.
* @param dimensions array with the dimensions of the data.
* @param data the data. It must be an array of the appropriate type given the type that is
* going to be returned by the {@code typeIdSupplier}.
* @return true iff the data-set needed to be created (it did not existed previously). It will
* return false if the data-set existed even if it was modified in the process.
*/
private boolean makeDataset(final String fullPath, final IntSupplier typeIdSupplier, final long[] dimensions, final Object data) {
checkCanWrite();
int typeCopyId = -1;
try {
typeCopyId = typeIdSupplier.getAsInt();
final Pair<String, String> pathAndName = splitPathInParentAndName(fullPath);
final String groupPath = pathAndName.getLeft();
final String dataSetName = pathAndName.getRight();
makeGroup(groupPath);
final int childType = findOutGroupChildType(groupPath, dataSetName, fullPath);
if (childType == HDF5Constants.H5G_UNKNOWN) {
createDataset(fullPath, typeCopyId, dimensions);
writeDataset(fullPath, typeCopyId, data);
return true;
} else if (childType == HDF5Constants.H5G_DATASET) {
writeDataset(fullPath, typeCopyId, data);
return false;
} else {
throw new HDF5LibException(String.format("problem trying to write dataset %s in file %s: there is a collision with a non-dataset object", fullPath, file));
}
} finally {
if (typeCopyId != -1) { try { H5.H5Tclose(typeCopyId); } catch (final HDF5Exception ex ){} }
}
}
项目:memoization.java
文件:ConcurrentMapBasedIntSupplierMemoizerTest.java
/**
*
*/
@Test
@SuppressWarnings(CompilerWarnings.UNUSED)
public void shouldRequireNonNullCache() {
// given
final ConcurrentMap<String, Integer> cache = null;
final Supplier<String> keySupplier = () -> "key";
final IntSupplier supplier = () -> 123;
// when
thrown.expect(NullPointerException.class);
thrown.expectMessage("Provide an empty map instead of NULL.");
// then
new ConcurrentMapBasedIntSupplierMemoizer<>(cache, keySupplier, supplier);
}
项目:memoization.java
文件:ConcurrentMapBasedIntSupplierMemoizerTest.java
/**
*
*/
@Test
@SuppressWarnings(CompilerWarnings.UNUSED)
public void shouldRequireNonNullKeySupplier() {
// given
final ConcurrentMap<String, Integer> cache = new ConcurrentHashMap<>();
final Supplier<String> keySupplier = null;
final IntSupplier supplier = () -> 123;
// when
thrown.expect(NullPointerException.class);
thrown.expectMessage("Provide a key function, might just be 'MemoizationDefaults.defaultKeySupplier()'.");
// then
new ConcurrentMapBasedIntSupplierMemoizer<>(cache, keySupplier, supplier);
}
项目:memoization.java
文件:ConcurrentMapBasedIntSupplierMemoizerTest.java
/**
*
*/
@Test
@SuppressWarnings(CompilerWarnings.UNUSED)
public void shouldRequireNonNullValueSupplier() {
// given
final ConcurrentMap<String, Integer> cache = new ConcurrentHashMap<>();
final Supplier<String> keySupplier = () -> "key";
final IntSupplier supplier = null;
// when
thrown.expect(NullPointerException.class);
thrown.expectMessage("Cannot memoize a NULL Supplier - provide an actual Supplier to fix this.");
// then
new ConcurrentMapBasedIntSupplierMemoizer<>(cache, keySupplier, supplier);
}
项目:memoization.java
文件:ConcurrentMapBasedIntSupplierMemoizerTest.java
/**
*
*/
@Test
public void shouldUseSuppliedKey() {
// given
final ConcurrentMap<String, Integer> cache = new ConcurrentHashMap<>();
final Supplier<String> keySupplier = () -> "key";
final IntSupplier supplier = () -> 123;
// when
final ConcurrentMapBasedIntSupplierMemoizer<String> memoizer = new ConcurrentMapBasedIntSupplierMemoizer<>(
cache, keySupplier, supplier);
// then
Assert.assertTrue("Cache is not empty before memoization", memoizer.viewCacheForTest().isEmpty());
Assert.assertEquals("Memoized value does not match expectations", 123, memoizer.getAsInt());
Assert.assertFalse("Cache is still empty after memoization", memoizer.viewCacheForTest().isEmpty());
Assert.assertEquals("Memoization key does not match expectations", "key",
memoizer.viewCacheForTest().keySet().iterator().next());
}
项目:memoization.java
文件:ConcurrentMapBasedIntSupplierMemoizerTest.java
/**
*
*/
@Test
@SuppressWarnings(CompilerWarnings.BOXING)
public void shouldTriggerOnce() {
// given
final ConcurrentMap<String, Integer> cache = new ConcurrentHashMap<>();
final Supplier<String> keySupplier = () -> "key";
final IntSupplier supplier = mock(IntSupplier.class);
given(supplier.getAsInt()).willReturn(123);
// when
final ConcurrentMapBasedIntSupplierMemoizer<String> memoizer = new ConcurrentMapBasedIntSupplierMemoizer<>(
cache, keySupplier, supplier);
// then
Assert.assertEquals("Memoized value does not match expectations", 123, memoizer.getAsInt()); // triggers
Assert.assertEquals("Memoized value does not match expectations", 123, memoizer.getAsInt()); // memoized
Assert.assertEquals("Memoized value does not match expectations", 123, memoizer.getAsInt()); // memoized
Assert.assertEquals("Memoized value does not match expectations", 123, memoizer.getAsInt()); // memoized
verify(supplier, times(1)).getAsInt(); // real supplier triggered once, all other calls were memoized
}
项目:meja
文件:SwingSheetView.java
SheetPane() {
// define row and column ranges and set up segments
final IntSupplier startColumn = () -> 0;
final IntSupplier splitColumn = this::getSplitColumn;
final IntSupplier endColumn = this::getColumnCount;
final IntSupplier startRow = () -> 0;
final IntSupplier splitRow = this::getSplitRow;
final IntSupplier endRow = this::getRowCount;
topLeftQuadrant = new SwingSegmentView(startRow, splitRow, startColumn, splitColumn);
topRightQuadrant = new SwingSegmentView(startRow, splitRow, splitColumn, endColumn);
bottomLeftQuadrant = new SwingSegmentView(splitRow, endRow, startColumn, splitColumn);
bottomRightQuadrant = new SwingSegmentView(splitRow, endRow, splitColumn, endColumn);
init();
}
项目:meja
文件:JfxSheetView.java
public JfxSheetView() {
final GridPane gridPane = new GridPane();
gridPane.setGridLinesVisible(true); // FIXME
// define row and column ranges
final IntSupplier startColumn = () -> 0;
final IntSupplier splitColumn = this::getSplitColumn;
final IntSupplier endColumn = this::getColumnCount;
final IntSupplier startRow = () -> 0;
final IntSupplier splitRow = this::getSplitRow;
final IntSupplier endRow = this::getRowCount;
leftTopChart = new JfxSegmentView(this, startRow, splitRow, startColumn, splitColumn);
rightTopChart = new JfxSegmentView(this, startRow, splitRow, splitColumn, endColumn);
leftBottomChart = new JfxSegmentView(this, splitRow, endRow, startColumn, splitColumn);
rightBottomChart = new JfxSegmentView(this, splitRow, endRow, splitColumn, endColumn);
gridPane.addRow(1, leftTopChart, rightTopChart);
gridPane.addRow(2, leftBottomChart, rightBottomChart);
getChildren().setAll(gridPane);
}
项目:artio
文件:LibraryPollerTest.java
private void shouldReplyToOnNotLeaderWith(
final IntSupplier libraryId,
final LongSupplier connectCorrelationId,
final String... channels)
{
whenPolled()
.then(
(inv) ->
{
library.onNotLeader(libraryId.getAsInt(), connectCorrelationId.getAsLong(), LEADER_CHANNEL);
return 1;
})
.then(replyWithApplicationHeartbeat())
.then(noReply());
newLibraryPoller(CLUSTER_CHANNELS);
library.startConnecting();
pollTwice();
poll();
attemptToConnectTo(channels);
verify(connectHandler).onConnect(fixLibrary);
}
项目:gerrit
文件:QueryProcessor.java
protected QueryProcessor(
MetricMaker metricMaker,
SchemaDefinitions<T> schemaDef,
IndexConfig indexConfig,
IndexCollection<?, T, ? extends Index<?, T>> indexes,
IndexRewriter<T> rewriter,
String limitField,
IntSupplier permittedLimit) {
this.metrics = new Metrics(metricMaker);
this.schemaDef = schemaDef;
this.indexConfig = indexConfig;
this.indexes = indexes;
this.rewriter = rewriter;
this.limitField = limitField;
this.permittedLimit = permittedLimit;
this.used = new AtomicBoolean(false);
}
项目:DDS4J
文件:InternalUtils.java
static <T extends Enum<T> & IntSupplier> Set<T> bitsToSet(int bits, Class<T> tClass) {
EnumSet<T> ret = EnumSet.noneOf(tClass);
// Internal/Unsafe
T[] enums;
if (useSharedSecrets) {
enums = SharedSecrets.getJavaLangAccess().getEnumConstantsShared(tClass);
} else {
enums = tClass.getEnumConstants();
}
tClass.getEnumConstants();
for (T t : enums) {
if ((bits & t.getAsInt()) != 0) {
ret.add(t);
}
}
return ret;
}
项目:mdbi
文件:MDBITest.java
@Test
public void rowReadBuilderTest() throws SQLException {
final RowReadBuilder lrb = RowReadBuilder.create();
final IntSupplier id = lrb.addInt(sql("id"));
final Supplier<String> name = lrb.add(sql("name"), String.class);
m.execute(sql("insert into person (id, name) values (1, 'Max')"));
m.execute(sql("insert into person (id, name) values (2, 'John')"));
final List<List<Object>> rows = m.queryList(sql("select ", lrb.buildColumns(), " from person order by id"), lrb.build());
assertEquals(2, rows.size());
lrb.bindSuppliers(rows.get(0));
assertEquals(1, id.getAsInt());
assertEquals("Max", name.get());
lrb.bindSuppliers(rows.get(1));
assertEquals(2, id.getAsInt());
assertEquals("John", name.get());
}
项目:durian
文件:Box.java
/** Creates a `Box.Int` from a `IntSupplier` and a `IntConsumer`. */
public static Int from(IntSupplier getter, IntConsumer setter) {
return new Int() {
@Override
public int getAsInt() {
return getter.getAsInt();
}
@Override
public void set(int value) {
setter.accept(value);
}
@Override
public String toString() {
return "Box.Int.from[" + get() + "]";
}
};
}
项目:DeedPlanner-2
文件:Map.java
private void applyColor(GL2 g, IntSupplier func, boolean dot) {
float color;
if (Globals.floor>=0) {
color = ((float)func.getAsInt() - minElevation) / diffElevation;
}
else if (!dot) {
color = ((float)func.getAsInt() - minCaveElevation) / diffCaveElevation;
}
else {
color = ((float)func.getAsInt() - minCaveSize) / diffCaveSize;
}
if (Float.isNaN(color)) {
color = 0.5f;
}
if (!Properties.colorblind) {
g.glColor3f(color, 1-color, 0);
}
else {
g.glColor3f(color, 0, 1-color);
}
}
项目:ToSRAM
文件:RuneMapTable.java
private void putTraverseAction(String key, IntSupplier amount) {
InputMap im = getInputMap(WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
im.put(KeyStroke.getKeyStroke("pressed " + key), key);
ActionMap am = getActionMap();
am.put(key, new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
int newFocus = focusId + amount.getAsInt();
if (newFocus < 0) {
getComponent(0).transferFocusBackward();
} else if (newFocus >= getComponentCount()) {
getComponent(getComponentCount() - 1).transferFocus();
} else {
getComponent(newFocus).requestFocusInWindow();
}
}
});
}
项目:java-util-examples
文件:OptionalIntExample.java
@Test
public void optional_int_orElseGet() {
OptionalInt optionalInt = OptionalInt.empty();
assertEquals(10, optionalInt.orElseGet(() -> 10), 0);
// or
IntSupplier intSupplier = new IntSupplier() {
@Override
public int getAsInt() {
return 10;
}
};
assertEquals(10, optionalInt.orElseGet(intSupplier), 0);
}
项目:nuklei
文件:TcpAcceptor.java
private IntSupplier composeAcceptor(final TcpInterfaceAcceptor acceptor)
{
return () ->
{
try
{
return onAcceptable(acceptor.acceptor().accept());
}
catch (final Exception ex)
{
ex.printStackTrace(); // TODO: temporary
}
return 0;
};
}
项目:jOOL
文件:CheckedSupplierTest.java
@Test
public void testCheckedIntSupplier() {
final CheckedIntSupplier intSupplier = () -> {
throw new Exception("int");
};
IntSupplier s1 = Unchecked.intSupplier(intSupplier);
IntSupplier s2 = CheckedIntSupplier.unchecked(intSupplier);
IntSupplier s3 = Sneaky.intSupplier(intSupplier);
IntSupplier s4 = CheckedIntSupplier.sneaky(intSupplier);
assertIntSupplier(s1, UncheckedException.class);
assertIntSupplier(s2, UncheckedException.class);
assertIntSupplier(s3, Exception.class);
assertIntSupplier(s4, Exception.class);
}
项目:javasnack
文件:TestLambdaDemo.java
@Test
public void lambdaScope() throws Exception {
IntSupplier cycle123a = new IntSupplier() {
int c = 2;
@Override
public int getAsInt() {
this.c++;
return (this.c % 3) + 1;
}
};
IntSupplier cycle123b = () -> (this.c++ % 3) + 1;
assertEquals(cycle123a.getAsInt(), 1);
assertEquals(cycle123a.getAsInt(), 2);
assertEquals(cycle123a.getAsInt(), 3);
assertEquals(cycle123a.getAsInt(), 1);
assertEquals(cycle123a.getAsInt(), 2);
assertEquals(cycle123a.getAsInt(), 3);
assertEquals(cycle123b.getAsInt(), 1);
assertEquals(cycle123b.getAsInt(), 2);
assertEquals(cycle123b.getAsInt(), 3);
assertEquals(cycle123b.getAsInt(), 1);
assertEquals(cycle123b.getAsInt(), 2);
assertEquals(cycle123b.getAsInt(), 3);
assertEquals(this.c, 9);
}
项目:javasnack
文件:TestMethodRefDemo.java
@Test
public void basicMethodRef() throws Exception {
BiFunction<String, Integer, RefDemo> bif1 = RefDemo::new;
RefDemo rd1 = bif1.apply("Jon", 10);
assertEquals(rd1.name, "Jon");
assertEquals(rd1.age, 10);
RefDemo.STATIC_INT = 100;
rd1.instanceInt = 200;
IntSupplier sup1 = RefDemo::getStaticInt;
IntSupplier sup2 = rd1::getInstanceInt;
assertEquals(sup1.getAsInt(), 100);
assertEquals(sup2.getAsInt(), 200);
Function<RefDemo, String> greeting = RefDemo::whoAreYou;
assertEquals(greeting.apply(rd1), "My name is Jon, 10 years old.");
}
项目:levelup-java-examples
文件:OptionalIntExample.java
@Test
public void optional_int_orElseGet() {
OptionalInt optionalInt = OptionalInt.empty();
assertEquals(10, optionalInt.orElseGet(() -> 10), 0);
// or
IntSupplier intSupplier = new IntSupplier() {
@Override
public int getAsInt() {
return 10;
}
};
assertEquals(10, optionalInt.orElseGet(intSupplier), 0);
}
项目:junit-easy-tools
文件:FieldAssignment.java
private static Map<Class<?>, Class<?>> createPrimitiveSuppliers() {
Map<Class<?>, Class<?>> map = new HashMap<>();
map.put(IntSupplier.class, Integer.TYPE);
map.put(LongSupplier.class, Long.TYPE);
map.put(BooleanSupplier.class, Boolean.TYPE);
map.put(DoubleSupplier.class, Double.TYPE);
return Collections.unmodifiableMap(map);
}
项目:openjdk-systemtest
文件:TestLambdaJavaInterfaces.java
@Test public void testSupplierPerson() {
IntSupplier supplier = () -> {
Person manager1 = new Person(Title.MR, "James", "Wilks", 55);
return manager1.getAge();
};
assertEquals(55, supplier.getAsInt());
}
项目:information-retrieval
文件:Indexer.java
/**
* This method writes this class ConcurrentTermMap into disk, in a
* serialized way, splitting the terms in it into different files, grouped
* by their first letter, emptying the map completely. It does not provide a
* way to control how much of the map we are writing to disk
*/
public void save() {
if (tmap.getTmap().isEmpty()) {
return;
}
tmap.getTmap().entrySet()
.parallelStream()
.collect(Collectors.groupingByConcurrent(e -> e.getKey().substring(0, ((IntSupplier) () ->
{
if (e.getKey().length() > 1) {
return splitLevel;
} else {
return 1;
}
}).getAsInt()).replace(".", "").toLowerCase()))
.entrySet()
.forEach(entry ->
{
if (entry != null) {
String fileName = entry.getKey() + ".termMap." + (dm.dirCountContains(entry.getKey()));
//remove the entries (from tmap) that we are about to write into disk
entry.getValue().parallelStream()
.forEach((t) -> tmap.remove(t.getKey()));
ConcurrentTermMap map = new ConcurrentTermMap();
entry.getValue().parallelStream()
.forEach(e -> map.put(e.getKey(), e.getValue()));
dm.write(fileName, map.getTmap());
}
});
}
项目:information-retrieval
文件:Indexer.java
/**
* Saves a ConcurrentTermMap to disk (by using the DiskManager)
* @param tmap
*/
private void save(ConcurrentTermMap tmap) {
if (tmap.getTmap().isEmpty()) {
return;
}
tmap.getTmap().entrySet()
.parallelStream()
.collect(Collectors.groupingByConcurrent(e -> e.getKey().substring(0, ((IntSupplier) () ->
{
if (e.getKey().length() > 1) {
return 2;
} else {
return 1;
}
}).getAsInt()).replace(".", "").toLowerCase()))
.entrySet()
.forEach(entry ->
{
if (entry != null) {
String fileName = entry.getKey() + ".termMap.part." + (dm.dirCountContains(entry.getKey()));
//remove the entries (from tmap) that we are about to write into disk
entry.getValue().parallelStream()
.forEach((t) -> tmap.remove(t.getKey()));
ConcurrentTermMap map = new ConcurrentTermMap();
entry.getValue().parallelStream()
.forEach(e -> map.put(e.getKey(), e.getValue()));
dm.write(fileName, map.getTmap());
}
});
}
项目:Observables
文件:IntegerBinding.java
/**
* <p>Creates a binding using the passed supplier and list of dependencies.</p>
*
* <p>Note that this method requires manual implementation of the respective binding logic. For
* most cases, however, the static methods provided by this interface do suffice however and
* require far less manually programmed logic.</p>
*/
@Nonnull
static IntegerBinding create(@Nonnull IntSupplier supplier,
ReadOnlyObservable<?>... observables) {
return new AbstractIntegerBinding(new HashSet<>(Arrays.asList(observables))) {
@Override
protected Integer compute() {
return supplier.getAsInt();
}
};
}
项目:monarch
文件:StatisticsImpl.java
@Override
public IntSupplier setIntSupplier(final int id, final IntSupplier supplier) {
if (id >= type.getIntStatCount()) {
throw new IllegalArgumentException("Id " + id + " is not in range for stat" + type);
}
return intSuppliers.put(id, supplier);
}
项目:monarch
文件:StatisticsImplTest.java
@Test
public void invokeIntSuppliersShouldUpdateStats() {
IntSupplier supplier1 = mock(IntSupplier.class);
when(supplier1.getAsInt()).thenReturn(23);
stats.setIntSupplier(4, supplier1);
assertEquals(0, stats.invokeSuppliers());
verify(supplier1).getAsInt();
assertEquals(23, stats.getInt(4));
}
项目:monarch
文件:StatisticsImplTest.java
@Test
public void invokeSuppliersShouldCatchSupplierErrorsAndReturnCount() {
IntSupplier supplier1 = mock(IntSupplier.class);
when(supplier1.getAsInt()).thenThrow(NullPointerException.class);
stats.setIntSupplier(4, supplier1);
assertEquals(1, stats.invokeSuppliers());
verify(supplier1).getAsInt();
}
项目:monarch
文件:StatisticsImplTest.java
@Test
public void badSupplierParamShouldThrowError() {
IntSupplier supplier1 = mock(IntSupplier.class);
when(supplier1.getAsInt()).thenReturn(23);
thrown.expect(IllegalArgumentException.class);
stats.setIntSupplier(23, supplier1);
}
项目:openjdk-jdk10
文件:SystemModulesPlugin.java
SetBuilder(Set<T> elements,
int defaultVarIndex,
IntSupplier nextLocalVar) {
this.elements = elements;
this.defaultVarIndex = defaultVarIndex;
this.nextLocalVar = nextLocalVar;
}
项目:graal-core
文件:CompilationFinalWeakReferencePartialEvaluationTest.java
@Override
public int execute(VirtualFrame frame) {
partialEvaluationConstantAndEquals(finalWeakRefInteger.get(), Integer.valueOf(0));
partialEvaluationConstantAndEquals(finalWeakRefNull.get(), null);
IntSupplier supplier = finalWeakRef.get();
if (supplier != null) {
return supplier.getAsInt();
} else {
return 0xdead;
}
}
项目:graal-core
文件:CompilationFinalWeakReferencePartialEvaluationTest.java
@Override
public int execute(VirtualFrame frame) {
IntSupplier supplier = finalWeakRef.get();
if (supplier == null) {
return 0xdead;
} else if (supplier == frame.getArguments()[0]) {
return supplier.getAsInt();
} else {
return -1;
}
}
项目:ACMP
文件:Main.java
private static void solve(Scanner in, PrintWriter out) {
final int N = in.nextInt();
int[] array = IntStream.range(0, N).map(i -> in.nextInt()).toArray();
IntStream intStream = Arrays.stream(array);
Comparator<? super Map.Entry<Integer, Long>> minByKeyAndMaxByValueComparator = (entry1, entry2) -> {
int cmp = Long.compare(entry1.getValue(), entry2.getValue());
if (cmp == 0) {
cmp = Integer.compare(entry2.getKey(), entry1.getKey());
}
return cmp;
};
Optional<Entry<Integer, Long>> maxValue
= intStream
.boxed()
.collect(groupingBy(identity(), counting()))
.entrySet()
.stream()
.max(minByKeyAndMaxByValueComparator);
intStream = Arrays.stream(array);
IntSupplier intSupplier = () -> maxValue.get().getKey();
IntStream maxIntStream = IntStream.generate(intSupplier).limit(maxValue.get().getValue());
IntStream result = IntStream.concat(intStream.filter(i -> i != maxValue.get().getKey()), maxIntStream);
String s = result
.mapToObj(Integer::toString)
.collect(joining(" "));
out.print(s);
out.flush();
}
项目:mongoose-base
文件:BasicMetricsContext.java
public BasicMetricsContext(
final String stepId, final IoType ioType, final IntSupplier actualConcurrencyGauge,
final int driverCount, final int concurrency, final int thresholdConcurrency,
final SizeInBytes itemDataSize, final int updateIntervalSec, final boolean stdOutColorFlag,
final boolean avgPersistFlag, final boolean sumPersistFlag,
final boolean perfDbResultsFileFlag
) {
this.stepId = stepId;
this.ioType = ioType;
this.actualConcurrencyGauge = actualConcurrencyGauge;
this.driverCount = driverCount;
this.concurrency = concurrency;
this.thresholdConcurrency = thresholdConcurrency > 0 ?
thresholdConcurrency : Integer.MAX_VALUE;
this.itemDataSize = itemDataSize;
this.stdOutColorFlag = stdOutColorFlag;
this.avgPersistFlag = avgPersistFlag;
this.sumPersistFlag = sumPersistFlag;
this.perfDbResultsFileFlag = perfDbResultsFileFlag;
this.outputPeriodMillis = TimeUnit.SECONDS.toMillis(updateIntervalSec);
respLatency = new Histogram(new SlidingWindowReservoir(DEFAULT_RESERVOIR_SIZE));
respLatSnapshot = respLatency.getSnapshot();
respLatencySum = new LongAdder();
reqDuration = new Histogram(new SlidingWindowReservoir(DEFAULT_RESERVOIR_SIZE));
reqDurSnapshot = reqDuration.getSnapshot();
actualConcurrency = new Histogram(new SlidingWindowReservoir(DEFAULT_RESERVOIR_SIZE));
actualConcurrencySnapshot = actualConcurrency.getSnapshot();
reqDurationSum = new LongAdder();
throughputSuccess = new CustomMeter(clock, updateIntervalSec);
throughputFail = new CustomMeter(clock, updateIntervalSec);
reqBytes = new CustomMeter(clock, updateIntervalSec);
ts = System.nanoTime();
}
项目:fika
文件:LazyInt.java
private synchronized int maybeCompute(IntSupplier supplier) {
if (!initialized) {
value = requireNonNull(supplier.getAsInt());
initialized = true;
}
return value;
}
项目:hdf5-java-bindings
文件:HDF5File.java
/**
* Creates a HDF5 type based on a simple copy of a HDF5 type class.
* @param classId the class id to copy.
* @return never {@code null}.
*/
private IntSupplier basicTypeCopyIdSupplier(final int classId) {
return () -> {
try {
return checkH5Result(H5.H5Tcopy(classId), () -> "");
} catch (final HDF5LibraryException ex) {
throw new HDF5LibException("", ex);
}
};
}
项目:antsdb
文件:Utf8.java
public static String decode(IntSupplier supplier) {
StringBuilder buf = new StringBuilder();
for (;;) {
int ch = get(supplier);
if (ch >= 0) {
buf.append((char)ch);
}
else {
break;
}
}
return buf.toString();
}