Example usage for com.google.gwt.uibinder.rebind IndentedWriter IndentedWriter

List of usage examples for com.google.gwt.uibinder.rebind IndentedWriter IndentedWriter

Introduction

In this page you can find the example usage for com.google.gwt.uibinder.rebind IndentedWriter IndentedWriter.

Prototype

public IndentedWriter(PrintWriter pw) 

Source Link

Usage

From source file:com.nabla.wapp.client.rebind.GenericCommandSetGenerator.java

License:Apache License

@Override
public String generate(final TreeLogger logger, final GeneratorContext ctx, final String interfaceTypeName)
        throws UnableToCompleteException {
    final TypeOracle typeOracle = ctx.getTypeOracle();
    final JClassType interfaceType = typeOracle.findType(interfaceTypeName);
    if (interfaceType == null) {
        logger.log(TreeLogger.ERROR, "unable to find metadata for type '" + interfaceTypeName + "'", null);
        throw new UnableToCompleteException();
    }// w w w . jav  a2  s .  c o m
    if (interfaceType.isInterface() == null) {
        logger.log(TreeLogger.ERROR, interfaceType.getQualifiedSourceName() + " is not an interface", null);
        throw new UnableToCompleteException();
    }
    final String packageName = interfaceType.getPackage().getName();
    final String className = interfaceType.getName().replace(".", "_") + "GeneratedImpl";

    final PrintWriter writer = ctx.tryCreate(logger, packageName, className);
    if (writer == null) {
        logger.log(TreeLogger.DEBUG,
                "source code for '" + packageName + "." + className + "' has already been written", null);
    } else {
        writeClass(logger.branch(TreeLogger.INFO,
                "Generating command set '" + packageName + "." + className + "'", null),
                new IndentedWriter(writer), packageName, className, interfaceType);
        ctx.commit(logger, writer);
    }
    return packageName + "." + className;
}

From source file:com.promis.generators.BaseGenerator.java

License:Mozilla Public License

@Override
public String generate(TreeLogger treeLogger, GeneratorContext generatorContext, String typeName)
        throws UnableToCompleteException {
    JClassType interfaceType = interfaceType(generatorContext.getTypeOracle(), typeName, treeLogger);

    String packageName = getPackageName(interfaceType);
    String implName = interfaceType.getName().replace(".", "_") + "Impl";
    TreeLogger logger = treeLogger.branch(Type.INFO, "Generating: " + implName);
    logger.log(Type.INFO, "Package: " + packageName);
    PrintWriter printWriter = generatorContext.tryCreate(treeLogger, packageName, implName);
    if (printWriter != null) {
        BaseGeneratorClient client = getClient();

        client.writer = new IndentedWriter(printWriter);
        client.implName = implName;//w  ww. ja v a 2s . co  m
        client.generatorContext = generatorContext;
        client.oracle = generatorContext.getTypeOracle();
        client.interfaceType = interfaceType;
        client.logger = logger;

        client.generate(packageName);
        generatorContext.commit(treeLogger, printWriter);
    }
    return packageName + "." + implName;
}