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

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


    public CompiledType emit(String moduleId, CopyDescription slot, boolean prologue) throws IOException {
        Precondition.checkMustNotBeNull(moduleId, "moduleId"); //$NON-NLS-1$
        Precondition.checkMustNotBeNull(slot, "slot"); //$NON-NLS-1$
        LOG.debug("Generates a mapper for \"{}\" in \"{}\"",
                slot.getName(), moduleId);
        CompilationUnit source;
        Engine engine = new Engine(environment, moduleId, slot, prologue);
        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("Mapper for \"{}\" is {}",
                slot.getName(),
                name);
        return new CompiledType(name);
View Full Code Here


     * @throws IllegalArgumentException 引数に{@code null}が指定された場合
     */
    public CompiledType emit(String moduleId, List<ResolvedSlot> slots) throws IOException {
        LOG.debug("\"{}\"エピローグ用のレデューサーを生成します", moduleId);
        Engine engine = new Engine(environment, moduleId, slots);
        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("エピローグ用レデューサーには{}が利用されます", name);
        return new CompiledType(name);
    }
View Full Code Here

        assert fragment.getFactors().size() == 1;

        LOG.debug("{}に対するフラグメントクラスを生成します", fragment);

        Engine engine = new Engine(environment, stageBlock, fragment, shuffle);
        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

        Precondition.checkMustNotBeNull(outputDirectory, "outputDirectory"); //$NON-NLS-1$
        LOG.debug("Generates job for {} in {} phase",
                moduleId,
                prologue ? "prologue" : "epilogue");
        Engine engine = new Engine(environment, moduleId, slots, outputDirectory, prologue);
        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("\"{}\" will use {}", moduleId, name);
        return new CompiledStage(name, prologue ? Naming.getPrologueName(moduleId) : Naming.getEpilogueName(moduleId));
View Full Code Here

        return emitter.emit();
    }

    private Name emit() throws IOException {
        LOG.debug("{}のリソースに対するプログラムを生成します", resource);
        CompilationUnit source = 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("{}のリソースには{}が利用されます",
                resource,
                name);
        return name;
View Full Code Here

     */
    public Name emit(ShuffleModel model) throws IOException {
        Precondition.checkMustNotBeNull(model, "model"); //$NON-NLS-1$
        LOG.debug("{}に対するシャッフル値を生成します", model.getStageBlock());
        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();
        Name name = environment.getModelFactory().newQualifiedName(packageName, simpleName);
        LOG.debug("{}のシャッフル値には{}が利用されます",
                model.getStageBlock(),
                name);
        return name;
View Full Code Here

            PackageDeclaration packageDecl,
            List<ImportDeclaration> importDecls,
            TypeDeclaration typeDecl,
            TypeElement originating) throws IOException {

        CompilationUnit unit = factory.newCompilationUnit(
                packageDecl,
                importDecls,
                Collections.singletonList(typeDecl),
                Collections.<Comment>emptyList());
        try {
View Full Code Here

            Name keyTypeName) throws IOException {
        Precondition.checkMustNotBeNull(model, "model"); //$NON-NLS-1$
        Precondition.checkMustNotBeNull(keyTypeName, "keyTypeName"); //$NON-NLS-1$
        LOG.debug("{}に対するグループ比較器を生成します", model.getStageBlock());
        Engine engine = new Engine(environment, model, keyTypeName);
        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

    public CompiledType emit(String moduleId, ResolvedSlot slot) throws IOException {
        Precondition.checkMustNotBeNull(moduleId, "moduleId"); //$NON-NLS-1$
        Precondition.checkMustNotBeNull(slot, "slot"); //$NON-NLS-1$
        LOG.debug("Generates a mapper for the output \"{}\" in epilogue phase of \"{}\"",
                slot.getSource().getOutputName(), moduleId);
        CompilationUnit source;
        if (slot.getSortProperties().isEmpty() && ParallelSortClientEmitter.legacy(environment) == false) {
            DirectEngine engine = new DirectEngine(environment, moduleId, slot);
            source = engine.generate();
        } else {
            DistributeEngine engine = new DistributeEngine(environment, moduleId, slot);
            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("Mapper for output \"{}\" in epilogue phase is {}",
                slot.getSource().getOutputName(),
                name);
        return new CompiledType(name);
View Full Code Here

            LOG.debug("{}に対してコンバイナークラスは不要です", model);
            return null;
        }
        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

TOP

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

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.