Package com.asakusafw.utils.java.model.syntax

Examples of com.asakusafw.utils.java.model.syntax.SimpleName


                    Collections.singletonList(type),
                    Collections.<Comment>emptyList());
        }

        private TypeDeclaration createType() {
            SimpleName name = factory.newSimpleName(Naming.getShuffleKeyClass());
            importer.resolvePackageMember(name);
            List<TypeBodyDeclaration> members = Lists.create();
            members.addAll(createSegmentDistinction());
            members.addAll(createProperties());
            members.addAll(createConverters());
View Full Code Here


        }

        private MethodDeclaration createConverter(Segment segment) {
            assert segment != null;
            String methodName = Naming.getShuffleKeySetter(segment.getPortId());
            SimpleName argument = factory.newSimpleName("source");

            List<Statement> statements = Lists.create();
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .field(PORT_ID_FIELD_NAME)
                .assignFrom(v(segment.getPortId()))
View Full Code Here

                            argument)),
                    statements);
        }

        private MethodDeclaration createCopier() {
            SimpleName argument = factory.newSimpleName("original");
            List<Statement> cases = Lists.create();
            for (List<Segment> segments : ShuffleEmiterUtil.groupByElement(model)) {
                for (Segment segment : segments) {
                    cases.add(factory.newSwitchCaseLabel(v(segment.getPortId())));
                }
                Segment segment = segments.get(0);
                for (Term term : segment.getTerms()) {
                    if (term.getArrangement() != Arrangement.GROUPING) {
                        continue;
                    }
                    String name = ShuffleEmiterUtil.getPropertyName(segment, term);
                    cases.add(term.getSource().assign(
                            new ExpressionBuilder(factory, factory.newThis())
                                .field(name)
                                .toExpression(),
                            new ExpressionBuilder(factory, argument)
                                .field(name)
                                .toExpression()));

                }
                cases.add(factory.newBreakStatement());
            }
            cases.add(factory.newSwitchDefaultLabel());
            cases.add(new TypeBuilder(factory, t(AssertionError.class))
                .newObject(new ExpressionBuilder(factory, factory.newThis())
                    .field(factory.newSimpleName(PORT_ID_FIELD_NAME))
                    .assignFrom(new ExpressionBuilder(factory, argument)
                        .field(factory.newSimpleName(PORT_ID_FIELD_NAME))
                        .toExpression())
                    .toExpression())
                .toThrowStatement());

            SimpleName typeName = factory.newSimpleName(Naming.getShuffleKeyClass());
            List<Statement> statements = Lists.create();
            statements.add(new ExpressionBuilder(factory, factory.newThis())
                .field(factory.newSimpleName(PORT_ID_FIELD_NAME))
                .assignFrom(new ExpressionBuilder(factory, argument)
                    .field(factory.newSimpleName(PORT_ID_FIELD_NAME))
View Full Code Here

                    createWriteMethod(),
                    createReadFieldsMethod());
        }

        private MethodDeclaration createWriteMethod() {
            SimpleName out = factory.newSimpleName("out");

            Expression segmentId = new ExpressionBuilder(factory, factory.newThis())
                .field(PORT_ID_FIELD_NAME)
                .toExpression();
View Full Code Here

                    Collections.singletonList(t(IOException.class)),
                    factory.newBlock(statements));
        }

        private MethodDeclaration createReadFieldsMethod() {
            SimpleName in = factory.newSimpleName("in");

            Expression segmentId = new ExpressionBuilder(factory, factory.newThis())
                .field(PORT_ID_FIELD_NAME)
                .toExpression();
View Full Code Here

        LOG.debug("{}に対するパーティショナーを生成します", model.getStageBlock());
        Engine engine = new Engine(environment, model, keyTypeName, valueTypeName);
        CompilationUnit source = engine.generate();
        environment.emit(source);
        Name packageName = source.getPackageDeclaration().getName();
        SimpleName simpleName = source.getTypeDeclarations().get(0).getName();
        Name name = environment.getModelFactory().newQualifiedName(packageName, simpleName);
        LOG.debug("{}のパーティショニングには{}が利用されます",
                model.getStageBlock(),
                name);
        return name;
View Full Code Here

    private TypeDeclaration createObjectClass(
            Context context,
            OperatorMethodDescriptor descriptor) {
        assert context != null;
        assert descriptor != null;
        SimpleName name = getObjectClassName(context.element);
        NamedType objectType = (NamedType) importer.resolvePackageMember(
                Models.append(factory, getClassName(), name));
        List<TypeParameterDeclaration> typeParameters = util.toTypeParameters(context.element);
        List<TypeBodyDeclaration> members = createObjectMembers(
                context,
View Full Code Here

        } else {
            objectType = new TypeBuilder(factory, rawObjectType)
                .parameterize(util.toTypeVariables(context.element))
                .toType();
        }
        SimpleName newName = context.names.create("newName");
        return factory.newMethodDeclaration(
                new JavadocBuilder(factory)
                    .text("この演算子の名前を設定する。")
                    .param(newName)
                        .text("設定する名前")
View Full Code Here

            List<FormalParameterDeclaration> parameters) {
        assert context != null;
        assert descriptor != null;
        assert parameters != null;
        List<Statement> statements = Lists.create();
        SimpleName builderName = context.names.create("builder");
        statements.add(new TypeBuilder(factory, util.t(OperatorDescription.Builder.class))
            .newObject(factory.newClassLiteral(util.t(descriptor.getAnnotationType())))
            .toLocalVariableDeclaration(
                    util.t(OperatorDescription.Builder.class),
                    builderName));
View Full Code Here

            OperatorMethodDescriptor descriptor) {
        assert context != null;
        assert descriptor != null;
        List<FormalParameterDeclaration> parameters = Lists.create();
        for (OperatorPortDeclaration var : descriptor.getInputPorts()) {
            SimpleName name = factory.newSimpleName(context.names.reserve(var.getName()));
            parameters.add(factory.newFormalParameterDeclaration(
                    util.toSourceType(var.getType().getRepresentation()),
                    name));
        }
        for (OperatorPortDeclaration var : descriptor.getParameters()) {
            SimpleName name = factory.newSimpleName(context.names.reserve(var.getName()));
            parameters.add(factory.newFormalParameterDeclaration(
                    util.t(var.getType().getRepresentation()),
                    name));
        }
        return parameters;
View Full Code Here

TOP

Related Classes of com.asakusafw.utils.java.model.syntax.SimpleName

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.