Package com.asakusafw.utils.java.model.util

Examples of com.asakusafw.utils.java.model.util.ExpressionBuilder


    }

    private List<Statement> setupStageOutputs(Expression context) {
        assert context != null;
        List<Statement> results = Lists.create();
        results.add(new ExpressionBuilder(factory, factory.newThis())
            .field(stageOutputs)
            .assignFrom(new TypeBuilder(factory, importer.toType(StageOutputDriver.class))
                .newObject(context)
                .toExpression())
            .toStatement());
View Full Code Here


        assert value.getInputPorts().size() == 1;
        FlowElementInput input = value.getInputPorts().get(0);
        Type type = importer.resolve(factory.newNamedType(value.getCompiled().getQualifiedName()));
        List<Expression> arguments = resolveArguments(node, value);
        if (lines.containsKey(input)) {
            return new ExpressionBuilder(factory, factory.newThis())
                .field(node.getName())
                .assignFrom(new TypeBuilder(factory, type)
                    .newObject(arguments)
                    .toExpression())
                .toStatement();
View Full Code Here

        assert value.getInputPorts().isEmpty() == false;
        FlowElement element = value.getInputPorts().get(0).getOwner();
        Type type = importer.resolve(factory.newNamedType(value.getCompiled().getQualifiedName()));
        List<Expression> arguments = resolveArguments(node, value);
        assert rendezvous.containsKey(element);
        return new ExpressionBuilder(factory, factory.newThis())
            .field(node.getName())
            .assignFrom(new TypeBuilder(factory, type)
                .newObject(arguments)
                .toExpression())
            .toStatement();
View Full Code Here

        Iterator<FragmentNode> iter = downstream.iterator();
        while (iter.hasNext()) {
            FragmentNode node = iter.next();
            if (iter.hasNext()) {
                statements.add(model.assign(cacheName, argumentName));
                statements.add(new ExpressionBuilder(factory, node.getName())
                    .method(FlowElementProcessor.RESULT_METHOD_NAME, cacheName)
                    .toStatement());
            } else {
                statements.add(new ExpressionBuilder(factory, node.getName())
                    .method(FlowElementProcessor.RESULT_METHOD_NAME, argumentName)
                    .toStatement());
            }
        }
View Full Code Here

                    .Final()
                    .toAttributes(),
                type,
                Collections.singletonList(factory.newVariableDeclarator(
                        node.getName(),
                        new ExpressionBuilder(factory, stageOutputs)
                            .method("getResultSink", Models.toLiteral(factory, value.getName()))
                            .toExpression())));
    }
View Full Code Here

        if (stageOutputs != null) {
            results.addAll(cleanStageOutputs(context));
        }
        for (Map.Entry<ResourceFragment, SimpleName> entry : resources.entrySet()) {
            results.add(factory.newIfStatement(
                    new ExpressionBuilder(factory, factory.newThis())
                        .field(entry.getValue())
                        .apply(InfixOperator.NOT_EQUALS, Models.toNullLiteral(factory))
                        .toExpression(),
                    factory.newBlock(new Statement[] {
                            new ExpressionBuilder(factory, factory.newThis())
                                .field(entry.getValue())
                                .method("cleanup", new ExpressionBuilder(factory, context)
                                    .method("getConfiguration")
                                    .toExpression())
                                .toStatement(),
                            new ExpressionBuilder(factory, factory.newThis())
                                .field(entry.getValue())
                                .assignFrom(Models.toNullLiteral(factory))
                                .toStatement()
                    })));
        }
        for (FragmentNode node : lines.values()) {
            results.add(new ExpressionBuilder(factory, factory.newThis())
                .field(node.getName())
                .assignFrom(Models.toNullLiteral(factory))
                .toStatement());
        }
        for (FragmentNode node : rendezvous.values()) {
            results.add(new ExpressionBuilder(factory, factory.newThis())
                .field(node.getName())
                .assignFrom(Models.toNullLiteral(factory))
                .toStatement());
        }
        return results;
View Full Code Here

    }

    private List<Statement> cleanStageOutputs(SimpleName context) {
        assert context != null;
        List<Statement> results = Lists.create();
        results.add(new ExpressionBuilder(factory, factory.newThis())
            .field(stageOutputs)
            .method("close")
            .toStatement());
        results.add(new ExpressionBuilder(factory, factory.newThis())
            .field(stageOutputs)
            .assignFrom(Models.toNullLiteral(factory))
            .toStatement());
        return results;
    }
View Full Code Here

        Precondition.checkMustNotBeNull(input, "input"); //$NON-NLS-1$
        FragmentNode node = lines.get(input);
        if (node == null) {
            throw new IllegalArgumentException();
        }
        return new ExpressionBuilder(factory, factory.newThis())
            .field(node.getName())
            .toExpression();
    }
View Full Code Here

        Precondition.checkMustNotBeNull(element, "element"); //$NON-NLS-1$
        FragmentNode node = rendezvous.get(element);
        if (node == null) {
            throw new IllegalArgumentException();
        }
        return new ExpressionBuilder(factory, factory.newThis())
            .field(node.getName())
            .toExpression();
    }
View Full Code Here

            SimpleName key = factory.newSimpleName("key");
            SimpleName value = factory.newSimpleName("value");
            SimpleName partitions = factory.newSimpleName("numPartitions");

            List<Statement> statements = Lists.create();
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .method(HASH_CODE_METHOD_NAME, key)
                .apply(InfixOperator.AND, new TypeBuilder(factory, t(Integer.class))
                    .field("MAX_VALUE")
                    .toExpression())
                .apply(InfixOperator.REMAINDER, partitions)
View Full Code Here

TOP

Related Classes of com.asakusafw.utils.java.model.util.ExpressionBuilder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.