List of usage examples for com.google.gwt.user.rebind SourceWriter indent
void indent();
From source file:com.kk_electronic.gwt.rebind.FlexInjectorGenerator.java
License:Open Source License
private void writeFragment(SourceWriter sw, JClassType j) { sw.println("fragmentMap.put(" + j.getQualifiedSourceName() + ".class, new FlexInjector() {"); sw.indent(); sw.println("@Override"); sw.println("public <E> void create(Class<? extends E> type, AsyncCallback<E> callback) {"); sw.indentln(// ww w . j av a 2s . com "callback.onSuccess((E)injector.create$" + j.getQualifiedSourceName().replace('.', '$') + "());"); sw.println("}"); sw.outdent(); sw.println("});"); }
From source file:com.kk_electronic.gwt.rebind.FlexInjectorGenerator.java
License:Open Source License
private void writeGateways(SourceWriter sw) throws UnableToCompleteException { for (String key : getClasses().keySet()) { if (key == null) continue; sw.println("private final class fragment$" + key + " implements FlexInjector {"); sw.indent(); sw.println();/* w w w . ja va 2 s. co m*/ sw.println("@Override"); sw.println("public <T> void create(final Class<? extends T> type, final AsyncCallback<T> callback) {"); sw.indent(); sw.println("GWT.runAsync(new RunAsyncCallback() {"); sw.indent(); sw.println("@Override"); sw.println("public void onSuccess() {"); for (JClassType j : getClasses().get(key)) { writeFragment(sw, j); } sw.indent(); sw.println(className + ".this.create(type, callback);"); sw.outdent(); sw.println("}"); sw.println("public void onFailure(Throwable reason) {"); sw.indent(); for (JClassType j : getClasses().get(key)) { sw.println("fragmentMap.remove(" + j.getQualifiedSourceName() + ".class);"); } sw.println("callback.onFailure(reason);"); sw.outdent(); sw.println("}"); sw.outdent(); sw.println("});"); sw.outdent(); sw.println("}"); sw.outdent(); sw.println("}"); } }
From source file:com.kk_electronic.gwt.rebind.FlexInjectorGenerator.java
License:Open Source License
private void writeConstructor(SourceWriter sw) throws UnableToCompleteException { sw.println();// w w w. j ava 2s .c o m sw.println("@SuppressWarnings(\"unchecked\")"); sw.println("public " + className + "() {"); sw.indent(); sw.println("FlexInjector fragment;"); for (String key : getClasses().keySet()) { if (key != null) { sw.println("fragment = new fragment$" + key + "();"); for (JClassType j : getClasses().get(key)) { sw.println("fragmentMap.put(" + j.getQualifiedSourceName() + ".class, fragment);"); } } else { for (JClassType j : getClasses().get(key)) { writeFragment(sw, j); } } } sw.outdent(); sw.println("}"); }
From source file:com.kk_electronic.gwt.rebind.FlexInjectorGenerator.java
License:Open Source License
private void writeStatic(SourceWriter sw) throws UnableToCompleteException { modules.toString();/* w w w . ja v a2 s . com*/ sw.print("@GinModules("); for (Class<? extends GinModule> s : modules.value()) { sw.print(s.getCanonicalName()); sw.print(".class"); } sw.println(")"); sw.println("static interface Injector extends Ginjector {"); sw.indent(); Set<JType> set = new HashSet<JType>(); for (Vector<JClassType> group : getClasses().values()) { set.addAll(group); } for (JMethod method : classType.getMethods()) { set.add(method.getReturnType()); } for (JType j : set) { sw.println( j.getQualifiedSourceName() + " create$" + j.getQualifiedSourceName().replace('.', '$') + "();"); } // for(Vector<JClassType> group : getClasses().values()){ // for(JClassType j : group){ // sw.println(j.getQualifiedSourceName() + " create$" + j.getQualifiedSourceName().replace('.', '$') + "();"); // } // } sw.outdent(); sw.println("}"); sw.println(); sw.println("private final Injector injector = GWT.create(Injector.class);"); sw.println("private Map<Class<?>, FlexInjector> fragmentMap = new HashMap<Class<?>, FlexInjector>();"); sw.println(); sw.println("@Override"); sw.println("public <T> void create(Class<? extends T> type, AsyncCallback<T> callback) {"); sw.println(" FlexInjector x = fragmentMap.get(type);"); sw.println(" if (x != null){"); sw.println(" x.create(type, callback);"); sw.println(" } else {"); // sw.println(" callback.onFailure(new ClassNotFoundException());"); sw.println(" callback.onFailure(null);"); sw.println(" GWT.log(\"Class Creation of \" + type + \" failed\");"); sw.println(" }"); sw.println("}"); }
From source file:com.kk_electronic.gwt.rebind.JsonEncoderGenerator.java
License:Open Source License
private void writeHelperClass(SourceWriter sw) { //Write variables sw.println("private HashMap<Class<?>, JsonValue<?>> map = new HashMap<Class<?>, JsonValue<?>>();"); sw.println(); // Empty line for style //Write constructor sw.println("public " + className + "() {"); sw.indent(); for (Entry<String, String> entry : map.entrySet()) { sw.println("map.put(" + entry.getKey() + ".class, new " + entry.getValue() + "());"); }//from w ww .j a v a 2s . co m sw.outdent(); sw.println("}"); sw.println(); // Empty line for style //Write functions sw.println("@Override"); sw.println("public Map<Class<?>, JsonValue<?>> getGeneratedMap() {"); sw.indent(); sw.println("return map;"); sw.outdent(); sw.println("}"); }
From source file:com.kk_electronic.gwt.rebind.ModuleTypeInfoHelperGenerator.java
License:Open Source License
private void writeClass(SourceWriter sw) { sw.println("@Override"); sw.println("public void insertData(hasAddModuleTypeInfo provider) {"); sw.indent(); for (JClassType j : getClasses()) { Integer id = getModuleID(j); String name = getModuleName(j); sw.println("provider.add(" + j.getQualifiedSourceName() + ".class," + id + "," + name + ");"); }/*from w ww. ja v a 2s.co m*/ sw.outdent(); sw.println("}"); }
From source file:com.kk_electronic.gwt.rebind.RemoteServiceGenerator.java
License:Open Source License
private void writeConstructor(SourceWriter sw) { sw.println("protected " + Dispatcher.class.getSimpleName() + " dispatcher;"); sw.println();/*from w w w .j a va2s . c o m*/ sw.println("public " + className + "() {"); sw.indent(); sw.println("final DelayingDispatcher d = new DelayingDispatcher();"); sw.println("this.dispatcher = d;"); sw.println("Injection.create(" + dispatcher.getSimpleName() + ".class, new AsyncCallback<" + dispatcher.getSimpleName() + ">() {"); sw.indent(); sw.println("@Override"); sw.println("public void onFailure(Throwable caught) {"); sw.println( " GWT.log(\"Failed to load dispatcher for " + escape(classType.getSimpleSourceName()) + "\");"); sw.println("}"); sw.println(""); sw.println("@Override"); sw.println("public void onSuccess(" + dispatcher.getSimpleName() + " result) {"); sw.println(" d.setDispatcher(result);"); sw.println(" dispatcher = result;"); sw.println("}"); sw.outdent(); sw.println("});"); sw.outdent(); sw.println("}"); }
From source file:com.kk_electronic.gwt.rebind.VersionGenerator.java
License:Open Source License
private void writeGetSHA1(SourceWriter sourceWriter) { sourceWriter.println("public String getSHA1(){"); sourceWriter.indent(); sourceWriter.print("return \""); String result = executeCommand("git rev-parse HEAD"); if (result != null) { sourceWriter.print(escape(result)); }//from w w w. ja va2s.c om sourceWriter.println("\";"); sourceWriter.outdent(); sourceWriter.println("}"); }
From source file:com.kk_electronic.gwt.rebind.VersionGenerator.java
License:Open Source License
private void writeGetTag(SourceWriter sourceWriter) { sourceWriter.println("public String getTag(){"); sourceWriter.indent(); sourceWriter.print("return \""); String result = executeCommand("git describe --tags --always HEAD"); if (result != null) { sourceWriter.print(escape(result)); }/* w ww.ja v a2s . c o m*/ sourceWriter.println("\";"); sourceWriter.outdent(); sourceWriter.println("}"); }
From source file:com.msco.mil.server.com.sencha.gxt.explorer.rebind.SampleGenerator.java
License:sencha.com license
@Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { // Get access to metadata about the type to be generated TypeOracle oracle = context.getTypeOracle(); JClassType toGenerate = oracle.findType(typeName).isClass(); // Get the name of the new type String packageName = toGenerate.getPackage().getName(); String simpleSourceName = toGenerate.getName().replace('.', '_') + "Impl"; PrintWriter pw = context.tryCreate(logger, packageName, simpleSourceName); if (pw == null) { return packageName + "." + simpleSourceName; }/*w w w .j ava2 s . c o m*/ // Generate an HTML file resource for every example and write the source JClassType[] types = oracle.getTypes(); // Build a ResourceOracle capable of reading java files sourceOracle = new ResourceOracleImpl(logger.branch(Type.DEBUG, "Gathering sources")); // Clean up these prefixes to not have filters PathPrefixSet prefixes = ((ResourceOracleImpl) context.getResourcesOracle()).getPathPrefixes(); sourceOracle.setPathPrefixes(new PathPrefixSet()); for (PathPrefix p : prefixes.values()) { sourceOracle.getPathPrefixes().add(new PathPrefix(p.getPrefix(), null)); } ResourceOracleImpl.refresh(logger, sourceOracle); // Load the header and footer HTML content try { String slashyPackageName = getClass().getPackage().getName().replace('.', '/'); javaHeader = Utility.getFileFromClassPath(slashyPackageName + "/header.html"); footer = Utility.getFileFromClassPath(slashyPackageName + "/footer.html"); } catch (IOException e) { logger.log(Type.ERROR, "Header or Footer failed to be read", e); throw new UnableToCompleteException(); } // Find all examples, annotated with @Detail Set<ExampleDetailModel> examples = new HashSet<ExampleDetailModel>(); Map<String, List<ExampleDetailModel>> hierarchy = new HashMap<String, List<ExampleDetailModel>>(); Set<SourceModel> exampleSources = new HashSet<SourceModel>(); for (JClassType type : types) { Example.Detail detail = type.getAnnotation(Example.Detail.class); if (detail != null) { ExampleDetailModel example = new ExampleDetailModel(logger, context, type, detail); // Collect sources to be built into html exampleSources.addAll(example.getAllSources()); List<ExampleDetailModel> exampleList = hierarchy.get(detail.category()); if (exampleList == null) { exampleList = new ArrayList<ExampleDetailModel>(); hierarchy.put(detail.category(), exampleList); } examples.add(example); exampleList.add(example); } } // Sort folders, sort within those folders List<String> folders = new ArrayList<String>(hierarchy.keySet()); Collections.sort(folders); for (List<ExampleDetailModel> contents : hierarchy.values()) { Collections.sort(contents); } // Actually build source for each type for (SourceModel type : exampleSources) { TreeLogger l = logger.branch(Type.DEBUG, "Writing HTML file for " + type.getName()); // attempt to create the output file if (type.getType() == FileType.JAVA) { writeTypeToHtml(l, context, type.getJClassType()); } else { writeFileToHtml(l, context, type.getPath()); } } // Start making the class, with basic imports ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(packageName, simpleSourceName); factory.setSuperclass(typeName); factory.addImport(Name.getSourceNameForClass(Category.class)); factory.addImport(Name.getSourceNameForClass(ImageResource.class)); factory.addImport(Name.getSourceNameForClass(GWT.class)); factory.addImport(Name.getSourceNameForClass(Example.class)); factory.addImport(Name.getSourceNameForClass(Source.class)); factory.addImport(Name.getSourceNameForClass(Source.FileType.class)); SourceWriter sw = factory.createSourceWriter(context, pw); // Write the ctor sw.println("public %1$s() {", simpleSourceName); sw.indent(); // Declare variables that will be used sw.println("Category c;"); sw.println("ImageResource icon;"); sw.println("Example e;"); sw.println("Source dir;"); Set<String> names = new HashSet<String>(); Map<JClassType, String> bundles = new HashMap<JClassType, String>(); for (String folder : folders) { // TODO escape name sw.println("c = new Category(\"%1$s\");", folder); for (ExampleDetailModel example : hierarchy.get(folder)) { // make sure the bundle to be used exists if (!bundles.containsKey(example.getClientBundleType())) { String bundleName = getNextName("bundle", names); sw.println("%1$s %2$s = GWT.create(%1$s.class);", example.getClientBundleType().getQualifiedSourceName(), bundleName); bundles.put(example.getClientBundleType(), bundleName); } // write out the example, adding it to the current category writeExample(sw, bundles.get(example.getClientBundleType()), example); } sw.println("categories.add(c);"); } sw.outdent(); sw.println("}");// end ctor sw.commit(logger); return factory.getCreatedClassName(); }