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

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


     * @return リソースに関する定義とそれを参照するための式の表
     */
    public Map<FlowResourceDescription, Expression> getResources() {
        Map<FlowResourceDescription, Expression> results = Maps.create();
        for (ResourceFragment key : fragment.getResources()) {
            SimpleName name = resources.get(key.getDescription());
            assert name != null;
            results.put(
                    key.getDescription(),
                    new ExpressionBuilder(factory, factory.newThis())
                        .field(name)
View Full Code Here


     * @return 出力に関する定義とそれを参照するための式の表
     */
    public Map<FlowElementPortDescription, Expression> getOutputs() {
        Map<FlowElementPortDescription, Expression> results = Maps.create();
        for (FlowElementOutput key : fragment.getOutputPorts()) {
            SimpleName name = successors.get(key);
            assert name != null;
            results.put(
                    key.getDescription(),
                    new ExpressionBuilder(factory, factory.newThis())
                        .field(name)
View Full Code Here

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

        private TypeDeclaration createType() {
            SimpleName name = factory.newSimpleName(Naming.getMapClass(0));
            importer.resolvePackageMember(name);
            return factory.newClassDeclaration(
                    new JavadocBuilder(factory)
                        .text("Mapper for output \"{0}\" in epilogue phase.", slot.getSource().getOutputName())
                        .toJavadoc(),
View Full Code Here

                    Collections.<Type>emptyList(),
                    Collections.singletonList(createSlotSpec()));
        }

        private MethodDeclaration createSlotSpec() {
            SimpleName valueName = factory.newSimpleName("value");
            SimpleName slotName = factory.newSimpleName("slot");
            List<Statement> statements = Lists.create();
            statements.add(new ExpressionBuilder(factory, slotName)
                .method(SortableSlot.NAME_BEGIN, Models.toLiteral(factory, slot.getSlotNumber()))
                .toStatement());
            if (slot.getSortProperties().isEmpty()) {
View Full Code Here

        LOG.debug("{}に対するコンバイナークラスを生成します", model);
        Engine engine = new Engine(environment, model);
        CompilationUnit source = engine.generate();
        environment.emit(source);
        Name packageName = source.getPackageDeclaration().getName();
        SimpleName simpleName = source.getTypeDeclarations().get(0).getName();

        QualifiedName name = environment
            .getModelFactory()
            .newQualifiedName(packageName, simpleName);
View Full Code Here

        LOG.debug("{}に対するエピローグジョブ実行クライアントを生成します", moduleId);
        Engine engine = new Engine(environment, moduleId, slots, outputDirectory);
        CompilationUnit source = engine.generate();
        environment.emit(source);
        Name packageName = source.getPackageDeclaration().getName();
        SimpleName simpleName = source.getTypeDeclarations().get(0).getName();
        QualifiedName name = environment
            .getModelFactory()
            .newQualifiedName(packageName, simpleName);
        LOG.debug("エピローグ\"{}\"のジョブ実行には{}が利用されます", moduleId, name);
        return new CompiledStage(name, Naming.getEpilogueName(moduleId));
View Full Code Here

     * @throws IllegalArgumentException 引数に{@code null}が指定された場合
     */
    public FieldAccessExpression addModelObjectField(Type type, String name) {
        Precondition.checkMustNotBeNull(type, "type"); //$NON-NLS-1$
        Precondition.checkMustNotBeNull(name, "name"); //$NON-NLS-1$
        SimpleName fieldName = names.create(name);
        Type fieldType = importer.resolve(type);
        fields.add(factory.newFieldDeclaration(
                null,
                new AttributeBuilder(factory)
                    .Private()
View Full Code Here

        if (typeParameters.isEmpty()) {
            return Collections.emptyList();
        }
        List<TypeParameterDeclaration> results = Lists.create();
        for (TypeParameterElement typeParameter : typeParameters) {
            SimpleName name = factory.newSimpleName(typeParameter.getSimpleName().toString());
            List<Type> typeBounds = Lists.create();
            for (TypeMirror typeBound : typeParameter.getBounds()) {
                typeBounds.add(importer.resolve(converter.convert(typeBound)));
            }
            results.add(factory.newTypeParameterDeclaration(name, typeBounds));
View Full Code Here

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

        private TypeDeclaration createType() {
            SimpleName name = factory.newSimpleName(Naming.getCombineClass());
            importer.resolvePackageMember(name);
            List<TypeBodyDeclaration> members = Lists.create();
            members.addAll(prepareFields());
            members.add(createSetup());
            members.add(createCleanup());
View Full Code Here

        private List<FieldDeclaration> prepareFields() {
            List<FieldDeclaration> fields = Lists.create();

            // shufles
            for (ShuffleModel.Segment segment : shuffle.getSegments()) {
                SimpleName shuffleName = names.create("shuffle");
                shuffleNames.put(segment, shuffleName);
                Name shuffleTypeName = segment.getCompiled().getCombineOutputType().getQualifiedName();
                fields.add(factory.newFieldDeclaration(
                        null,
                        new AttributeBuilder(factory)
                            .Private()
                            .toAttributes(),
                        importer.toType(shuffleTypeName),
                        shuffleName,
                        null));
            }

            // rendezvous
            for (ReduceUnit unit : reduceUnits) {
                if (unit.canCombine() == false) {
                    continue;
                }
                Fragment first = unit.getFragments().get(0);
                SimpleName rendezvousName = names.create("combine");
                rendezvousNames.put(first, rendezvousName);
                fields.add(factory.newFieldDeclaration(
                        null,
                        new AttributeBuilder(factory)
                            .Private()
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.