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

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


                    f.newClassLiteral(context.resolve(model.getSymbol())));
        }

        private MethodDeclaration createGetJdbcSupport() {
            return createGetter(
                    new TypeBuilder(f, context.resolve(Class.class))
                        .parameterize(supportClass)
                        .toType(),
                    "getJdbcSupport",
                    f.newClassLiteral(supportClass));
        }
View Full Code Here


                if (columnTrait != null) {
                    arguments.add(Models.toLiteral(f, columnTrait.getName()));
                }
            }
            return createGetter(
                    new TypeBuilder(f, context.resolve(List.class))
                        .parameterize(context.resolve(String.class))
                        .toType(),
                    "getColumnNames",
                    new TypeBuilder(f, context.resolve(Arrays.class))
                        .method("asList", arguments)
                        .toExpression());
        }
View Full Code Here

            return results;
        }

        private MethodDeclaration createGetModelType() {
            return createGetter(
                    new TypeBuilder(f, context.resolve(Class.class))
                        .parameterize(f.newWildcard(
                                WildcardBoundKind.UPPER_BOUNDED,
                                context.resolve(model.getSymbol())))
                        .toType(),
                    "getModelType",
View Full Code Here

                    f.newClassLiteral(context.resolve(model.getSymbol())));
        }

        private MethodDeclaration createGetStreamSupport() {
            return createGetter(
                    new TypeBuilder(f, context.resolve(Class.class))
                        .parameterize(supportClass)
                        .toType(),
                    "getStreamSupport",
                    f.newClassLiteral(supportClass));
        }
View Full Code Here

    private Expression resolveArgument(java.lang.reflect.Type type, Set<FragmentNode> downstream) {
        assert type != null;
        assert downstream != null;
        if (downstream.isEmpty()) {
            return new TypeBuilder(factory, importer.resolve(
                    factory.newParameterizedType(
                            Models.toType(factory, VoidResult.class),
                            Collections.singletonList(Models.toType(factory, type)))))
                .newObject()
                .toExpression();
View Full Code Here

                    .Final()
                    .toAttributes(),
                type,
                Collections.singletonList(factory.newVariableDeclarator(
                        node.getName(),
                        new TypeBuilder(factory, type)
                            .newObject(context)
                            .toExpression())));
    }
View Full Code Here

    @Override
    protected List<? extends TypeBodyDeclaration> override(Context context) {
        ImplementationBuilder builder = new ImplementationBuilder(context);
        ModelFactory f = context.environment.getFactory();
        builder.addStatement(new TypeBuilder(f, context.importer.toType(UnsupportedOperationException.class))
            .newObject(Models.toLiteral(f, "マスタ確認演算子は組み込みの方法で処理されます"))
            .toThrowStatement());
        return builder.toImplementation();
    }
View Full Code Here

    }

    @Override
    public Expression createNewInstance(Type target) {
        Precondition.checkMustNotBeNull(target, "target"); //$NON-NLS-1$
        return new TypeBuilder(factory, target)
            .newObject()
            .toExpression();
    }
View Full Code Here

            SimpleName l2 = factory.newSimpleName("l2");

            List<Statement> statements = Lists.create();
            SimpleName segmentId1 = factory.newSimpleName("segmentId1");
            SimpleName segmentId2 = factory.newSimpleName("segmentId2");
            statements.add(new TypeBuilder(factory, t(WritableComparator.class))
                .method("readInt", b1, s1)
                .toLocalVariableDeclaration(t(int.class), segmentId1));
            statements.add(new TypeBuilder(factory, t(WritableComparator.class))
                .method("readInt", b2, s2)
                .toLocalVariableDeclaration(t(int.class), segmentId2));

            SimpleName diff = factory.newSimpleName("diff");
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .method(ShuffleEmiterUtil.COMPARE_INT,
                        new ExpressionBuilder(factory, factory.newThis())
                            .method(ShuffleEmiterUtil.PORT_TO_ELEMENT, segmentId1)
                            .toExpression(),
                        new ExpressionBuilder(factory, factory.newThis())
                            .method(ShuffleEmiterUtil.PORT_TO_ELEMENT, segmentId2)
                            .toExpression())
                .toLocalVariableDeclaration(t(int.class), diff));
            statements.add(createDiffBranch(diff));

            SimpleName o1 = factory.newSimpleName("o1");
            SimpleName o2 = factory.newSimpleName("o2");
            SimpleName size1 = factory.newSimpleName("size1");
            SimpleName size2 = factory.newSimpleName("size2");
            statements.add(new ExpressionBuilder(factory, v(4))
                .toLocalVariableDeclaration(t(int.class), o1));
            statements.add(new ExpressionBuilder(factory, v(4))
                .toLocalVariableDeclaration(t(int.class), o2));
            statements.add(new ExpressionBuilder(factory, v(-1))
                .toLocalVariableDeclaration(t(int.class), size1));
            statements.add(new ExpressionBuilder(factory, v(-1))
                .toLocalVariableDeclaration(t(int.class), size2));

            List<Statement> cases = Lists.create();
            for (List<Segment> segments : ShuffleEmiterUtil.groupByElement(model)) {
                for (Segment segment : segments) {
                    cases.add(factory.newSwitchCaseLabel(v(segment.getPortId())));
                }
                for (Term term : segments.get(0).getTerms()) {
                    if (term.getArrangement() != Arrangement.GROUPING) {
                        continue;
                    }
                    cases.add(new ExpressionBuilder(factory, size1)
                        .assignFrom(term.getSource().createBytesSize(
                                b1,
                                factory.newInfixExpression(s1, InfixOperator.PLUS, o1),
                                factory.newInfixExpression(l1, InfixOperator.MINUS, o1)))
                        .toStatement());
                    cases.add(new ExpressionBuilder(factory, size2)
                        .assignFrom(term.getSource().createBytesSize(
                                b2,
                                factory.newInfixExpression(s2, InfixOperator.PLUS, o2),
                                factory.newInfixExpression(l2, InfixOperator.MINUS, o2)))
                        .toStatement());
                    cases.add(new ExpressionBuilder(factory, diff)
                        .assignFrom(
                                term.getSource().createBytesDiff(
                                        b1,
                                        factory.newInfixExpression(s1, InfixOperator.PLUS, o1),
                                        size1,
                                        b2,
                                        factory.newInfixExpression(s2, InfixOperator.PLUS, o2),
                                        size2))
                        .toStatement());
                    cases.add(createDiffBranch(diff));
                    cases.add(new ExpressionBuilder(factory, o1)
                        .assignFrom(InfixOperator.PLUS, size1)
                        .toStatement());
                    cases.add(new ExpressionBuilder(factory, o2)
                        .assignFrom(InfixOperator.PLUS, size2)
                        .toStatement());
                }
                cases.add(factory.newBreakStatement());
            }
            cases.add(factory.newSwitchDefaultLabel());
            cases.add(new TypeBuilder(factory, t(AssertionError.class))
                .newObject()
                .toThrowStatement());

            statements.add(factory.newSwitchStatement(segmentId1, cases));
            statements.add(new ExpressionBuilder(factory, v(0))
View Full Code Here

                    cases.add(createDiffBranch(diff));
                }
                cases.add(factory.newBreakStatement());
            }
            cases.add(factory.newSwitchDefaultLabel());
            cases.add(new TypeBuilder(factory, t(AssertionError.class))
                .newObject()
                .toThrowStatement());

            statements.add(factory.newSwitchStatement(segmentId1, cases));
            statements.add(new ExpressionBuilder(factory, v(0))
View Full Code Here

TOP

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

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.