List of usage examples for com.google.common.collect ImmutableList get
E get(int index);
From source file:de.metas.ui.web.window.descriptor.filters.CompositeDocumentFilterDescriptorsProvider.java
public static DocumentFilterDescriptorsProvider compose(final DocumentFilterDescriptorsProvider... providers) { if (providers == null || providers.length <= 0) { return NullDocumentFilterDescriptorsProvider.instance; }//from www. j ava2 s. com final ImmutableList<DocumentFilterDescriptorsProvider> providersList = Stream.of(providers) .filter(provider -> !NullDocumentFilterDescriptorsProvider.isNull(provider)) .collect(GuavaCollectors.toImmutableList()); if (providersList.isEmpty()) { return NullDocumentFilterDescriptorsProvider.instance; } else if (providersList.size() == 1) { return providersList.get(0); } return new CompositeDocumentFilterDescriptorsProvider(providersList); }
From source file:org.apache.hadoop.hive.ql.optimizer.calcite.cost.HiveAlgorithmsUtil.java
public static double computeSMBMapJoinCPUCost(ImmutableList<Double> cardinalities) { // Hash-join/* w ww .j a v a 2 s . c o m*/ double cpuCost = 0.0; for (int i = 0; i < cardinalities.size(); i++) { cpuCost += cardinalities.get(i) * cpuCost; } return cpuCost; }
From source file:com.github.rinde.logistics.pdptw.solver.CheapestInsertionHeuristic.java
static ImmutableList<Double> decomposedCost(GlobalStateObject state, ImmutableList<ImmutableList<Parcel>> schedule, ObjectiveFunction objFunc) { final ImmutableList.Builder<Double> builder = ImmutableList.builder(); for (int i = 0; i < schedule.size(); i++) { builder.add(objFunc.computeCost( Solvers.computeStats(state.withSingleVehicle(i), ImmutableList.of(schedule.get(i))))); }//from w w w.j a v a2 s . com return builder.build(); }
From source file:com.google.gerrit.metrics.dropwizard.MetricJson.java
@SuppressWarnings("unchecked") private static Map<String, Object> makeBuckets(Field<?>[] fields, Map<?, Metric> metrics, ImmutableMap<String, String> atts) { if (fields.length == 1) { Function<Object, String> fmt = (Function<Object, String>) fields[0].formatter(); Map<String, Object> out = new TreeMap<>(); for (Map.Entry<?, Metric> e : metrics.entrySet()) { out.put(fmt.apply(e.getKey()), new MetricJson(e.getValue(), atts, true)); }//from w w w . j a v a 2 s .c om return out; } Map<String, Object> out = new TreeMap<>(); for (Map.Entry<?, Metric> e : metrics.entrySet()) { ImmutableList<Object> keys = (ImmutableList<Object>) e.getKey(); Map<String, Object> dst = out; for (int i = 0; i < fields.length - 1; i++) { Function<Object, String> fmt = (Function<Object, String>) fields[i].formatter(); String key = fmt.apply(keys.get(i)); Map<String, Object> t = (Map<String, Object>) dst.get(key); if (t == null) { t = new TreeMap<>(); dst.put(key, t); } dst = t; } Function<Object, String> fmt = (Function<Object, String>) fields[fields.length - 1].formatter(); dst.put(fmt.apply(keys.get(fields.length - 1)), new MetricJson(e.getValue(), atts, true)); } return out; }
From source file:com.facebook.presto.sql.gen.VarArgsToArrayAdapterGenerator.java
public static MethodHandleAndConstructor generateVarArgsToArrayAdapter(Class<?> returnType, Class<?> javaType, int argsLength, MethodHandle function, MethodHandle userStateFactory) { requireNonNull(returnType, "returnType is null"); requireNonNull(javaType, "javaType is null"); requireNonNull(function, "function is null"); requireNonNull(userStateFactory, "userStateFactory is null"); MethodType methodType = function.type(); Class<?> javaArrayType = toArrayClass(javaType); checkArgument(methodType.returnType() == returnType, "returnType does not match"); checkArgument(methodType.parameterList().equals(ImmutableList.of(Object.class, javaArrayType)), "parameter types do not match"); CallSiteBinder callSiteBinder = new CallSiteBinder(); ClassDefinition classDefinition = new ClassDefinition(a(PUBLIC, FINAL), makeClassName("VarArgsToListAdapter"), type(Object.class)); classDefinition.declareDefaultConstructor(a(PRIVATE)); // generate userState constructor MethodDefinition stateFactoryDefinition = classDefinition.declareMethod(a(PUBLIC, STATIC), "createState", type(VarArgsToArrayAdapterState.class)); stateFactoryDefinition.getBody().comment("create userState for current instance").append(newInstance( VarArgsToArrayAdapterState.class, loadConstant(callSiteBinder, userStateFactory, MethodHandle.class) .invoke("invokeExact", Object.class), newArray(type(javaArrayType), argsLength).cast(Object.class)).ret()); // generate adapter method ImmutableList.Builder<Parameter> parameterListBuilder = ImmutableList.builder(); parameterListBuilder.add(arg("userState", VarArgsToArrayAdapterState.class)); for (int i = 0; i < argsLength; i++) { parameterListBuilder.add(arg("input_" + i, javaType)); }/*from w ww . j a va 2 s. com*/ ImmutableList<Parameter> parameterList = parameterListBuilder.build(); MethodDefinition methodDefinition = classDefinition.declareMethod(a(PUBLIC, STATIC), "varArgsToArray", type(returnType), parameterList); BytecodeBlock body = methodDefinition.getBody(); BytecodeExpression userState = parameterList.get(0).getField("userState", Object.class); BytecodeExpression args = parameterList.get(0).getField("args", Object.class).cast(javaArrayType); for (int i = 0; i < argsLength; i++) { body.append(args.setElement(i, parameterList.get(i + 1))); } body.append(loadConstant(callSiteBinder, function, MethodHandle.class) .invoke("invokeExact", returnType, userState, args).ret()); // define class Class<?> generatedClass = defineClass(classDefinition, Object.class, callSiteBinder.getBindings(), VarArgsToArrayAdapterGenerator.class.getClassLoader()); return new MethodHandleAndConstructor( Reflection.methodHandle(generatedClass, "varArgsToArray", ImmutableList.builder().add(VarArgsToArrayAdapterState.class) .addAll(nCopies(argsLength, javaType)).build().toArray(new Class<?>[argsLength])), Reflection.methodHandle(generatedClass, "createState")); }
From source file:io.prestosql.sql.gen.VarArgsToArrayAdapterGenerator.java
public static MethodHandleAndConstructor generateVarArgsToArrayAdapter(Class<?> returnType, Class<?> javaType, int argsLength, MethodHandle function, MethodHandle userStateFactory) { requireNonNull(returnType, "returnType is null"); requireNonNull(javaType, "javaType is null"); requireNonNull(function, "function is null"); requireNonNull(userStateFactory, "userStateFactory is null"); checkCondition(argsLength <= 253, NOT_SUPPORTED, "Too many arguments for vararg function"); MethodType methodType = function.type(); Class<?> javaArrayType = toArrayClass(javaType); checkArgument(methodType.returnType() == returnType, "returnType does not match"); checkArgument(methodType.parameterList().equals(ImmutableList.of(Object.class, javaArrayType)), "parameter types do not match"); CallSiteBinder callSiteBinder = new CallSiteBinder(); ClassDefinition classDefinition = new ClassDefinition(a(PUBLIC, FINAL), makeClassName("VarArgsToListAdapter"), type(Object.class)); classDefinition.declareDefaultConstructor(a(PRIVATE)); // generate userState constructor MethodDefinition stateFactoryDefinition = classDefinition.declareMethod(a(PUBLIC, STATIC), "createState", type(VarArgsToArrayAdapterState.class)); stateFactoryDefinition.getBody().comment("create userState for current instance").append(newInstance( VarArgsToArrayAdapterState.class, loadConstant(callSiteBinder, userStateFactory, MethodHandle.class) .invoke("invokeExact", Object.class), newArray(type(javaArrayType), argsLength).cast(Object.class)).ret()); // generate adapter method ImmutableList.Builder<Parameter> parameterListBuilder = ImmutableList.builder(); parameterListBuilder.add(arg("userState", VarArgsToArrayAdapterState.class)); for (int i = 0; i < argsLength; i++) { parameterListBuilder.add(arg("input_" + i, javaType)); }/*ww w. j a va 2 s .c om*/ ImmutableList<Parameter> parameterList = parameterListBuilder.build(); MethodDefinition methodDefinition = classDefinition.declareMethod(a(PUBLIC, STATIC), "varArgsToArray", type(returnType), parameterList); BytecodeBlock body = methodDefinition.getBody(); BytecodeExpression userState = parameterList.get(0).getField("userState", Object.class); BytecodeExpression args = parameterList.get(0).getField("args", Object.class).cast(javaArrayType); for (int i = 0; i < argsLength; i++) { body.append(args.setElement(i, parameterList.get(i + 1))); } body.append(loadConstant(callSiteBinder, function, MethodHandle.class) .invoke("invokeExact", returnType, userState, args).ret()); // define class Class<?> generatedClass = defineClass(classDefinition, Object.class, callSiteBinder.getBindings(), VarArgsToArrayAdapterGenerator.class.getClassLoader()); return new MethodHandleAndConstructor( Reflection.methodHandle(generatedClass, "varArgsToArray", ImmutableList.builder().add(VarArgsToArrayAdapterState.class) .addAll(nCopies(argsLength, javaType)).build().toArray(new Class<?>[argsLength])), Reflection.methodHandle(generatedClass, "createState")); }
From source file:com.google.errorprone.refaster.UPlaceholderExpression.java
static UPlaceholderExpression create(PlaceholderMethod placeholder, Iterable<? extends UExpression> arguments) { ImmutableList<UVariableDecl> placeholderParams = placeholder.parameters().asList(); ImmutableList<UExpression> argumentsList = ImmutableList.copyOf(arguments); ImmutableMap.Builder<UVariableDecl, UExpression> builder = ImmutableMap.builder(); for (int i = 0; i < placeholderParams.size(); i++) { builder.put(placeholderParams.get(i), argumentsList.get(i)); }/*from w w w .j a v a 2 s .com*/ return new AutoValue_UPlaceholderExpression(placeholder, builder.build()); }
From source file:com.google.errorprone.refaster.UPlaceholderStatement.java
static UPlaceholderStatement create(PlaceholderMethod placeholder, Iterable<? extends UExpression> arguments, ControlFlowVisitor.Result implementationFlow) { ImmutableList<UVariableDecl> placeholderParams = placeholder.parameters().asList(); ImmutableList<UExpression> argumentsList = ImmutableList.copyOf(arguments); ImmutableMap.Builder<UVariableDecl, UExpression> builder = ImmutableMap.builder(); for (int i = 0; i < placeholderParams.size(); i++) { builder.put(placeholderParams.get(i), argumentsList.get(i)); }/*from ww w.java 2s . co m*/ return new AutoValue_UPlaceholderStatement(placeholder, builder.build(), implementationFlow); }
From source file:org.apache.hadoop.hive.ql.optimizer.calcite.cost.HiveAlgorithmsUtil.java
public static double computeMapJoinCPUCost(ImmutableList<Double> cardinalities, ImmutableBitSet streaming) { // Hash-join/*from ww w . ja v a 2s .c om*/ double cpuCost = 0.0; for (int i = 0; i < cardinalities.size(); i++) { double cardinality = cardinalities.get(i); if (!streaming.get(i)) { cpuCost += cardinality; } cpuCost += cardinality * cpuCost; } return cpuCost; }
From source file:com.google.devtools.build.benchmark.BuildGroupRunner.java
private static void prepareBuildEnvConfigs(ImmutableList<BuildEnvConfig> buildEnvConfigs, BuildTargetResult.Builder targetBuilder, ImmutableList<String> codeVersions, ImmutableList<String> datetimes) { for (BuildEnvConfig envConfig : buildEnvConfigs) { BuildEnvResult.Builder envBuilder = BuildEnvResult.newBuilder().setConfig(envConfig); for (int i = 0; i < codeVersions.size(); ++i) { envBuilder.addResults(SingleBuildResult.newBuilder().setCodeVersion(codeVersions.get(i)) .setDatetime(datetimes.get(i)).build()); }//from www. j a v a 2 s .c o m targetBuilder.addBuildEnvResults(envBuilder.build()); } }