Example usage for com.google.common.collect ImmutableList get

List of usage examples for com.google.common.collect ImmutableList get

Introduction

In this page you can find the example usage for com.google.common.collect ImmutableList get.

Prototype

E get(int index);

Source Link

Document

Returns the element at the specified position in this list.

Usage

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());
    }
}