List of usage examples for com.google.gwt.user.rebind SourceWriter indent
void indent();
From source file:com.mvp4g.rebind.Mvp4gRunAsyncGenerator.java
License:Apache License
void writeClass(SourceWriter sourceWriter, String callBackType) { sourceWriter.print("public void load("); sourceWriter.print(callBackType);/* w ww . j ava 2s . com*/ sourceWriter.println(" callback) {"); sourceWriter.indent(); sourceWriter.println("GWT.runAsync(callback);"); sourceWriter.outdent(); sourceWriter.println("}"); }
From source file:com.ponysdk.ui.server.AddonListGenerator.java
License:Apache License
@Override public String generate(final TreeLogger logger, final GeneratorContext context, final String typeName) throws UnableToCompleteException { final List<JClassType> ponyAddons = new ArrayList<JClassType>(); final TypeOracle typeOracle = context.getTypeOracle(); assert (typeOracle != null); JClassType classType = null;//from www . j a v a 2 s.com try { classType = typeOracle.getType(typeName); } catch (final NotFoundException e) { e.printStackTrace(); return null; } final SourceWriter src = getSourceWriter(classType, context, logger); if (src == null) { return typeName + "Generated"; } final JClassType[] types = typeOracle.getTypes(); System.out.println("Generating AddonListGenerator " + typeName); System.out.println("\tAnalysing " + types.length + " types ..."); for (final JClassType jClassType : types) { if (jClassType.isAnnotationPresent(PonyAddOn.class)) { System.out.println("\tAdding Pony Addon " + jClassType.getParameterizedQualifiedSourceName()); ponyAddons.add(jClassType); } } // Here you would retrieve the metadata based on typeName for this Screen src.println("public List<AddonFactory> getAddonFactoryList() {"); src.indent(); src.println("List<AddonFactory> addonList = new ArrayList();"); for (final JClassType addon : ponyAddons) { src.println("addonList.add(new AddonFactory(){"); src.indent(); src.println("public PTAddon newAddon(){"); src.indent(); src.println("PTAddon addon = new " + addon.getParameterizedQualifiedSourceName() + "();"); src.println("return addon;"); src.outdent(); src.println("}"); src.println(); src.println("public String getSignature(){"); src.indent(); src.println("return \"" + addon.getParameterizedQualifiedSourceName() + "\";"); src.outdent(); src.println("}"); src.println(); src.outdent(); src.println("});"); } src.println("return addonList;"); src.outdent(); src.println("}"); src.commit(logger); System.out.println("Generating for: " + typeName); return typeName + "Generated"; }
From source file:com.rhizospherejs.gwt.rebind.MappingWriter.java
License:Open Source License
private void writeModelBridgeFactoryMethod(SourceWriter sw) { sw.println("@Override"); sw.println("public ModelBridge<%s> newModelBridge(%s jsoBuilder) {", modelClassName, BridgeCapabilities.JSO_BUILDER_CLASS); sw.indent(); sw.println("return new %sModelBridge(jsoBuilder);", modelClassName); sw.outdent();//w w w. ja v a2 s . c o m sw.println("}"); }
From source file:com.rhizospherejs.gwt.rebind.MappingWriter.java
License:Open Source License
private void writeMetaModelFactoryInterfaceImpl(SourceWriter sw) { sw.println("@Override"); sw.println("public MetaModelFactory newMetaModelFactory(%s attrBuilder) {", BridgeCapabilities.METAMODEL_ATTRIBUTE_BUILDER_CLASS); sw.indent(); sw.println("return new %sMetaModelFactory(attrBuilder);", modelClassName); sw.outdent();/*from w w w . ja v a 2 s . c o m*/ sw.println("}"); }
From source file:com.rhizospherejs.gwt.rebind.MappingWriter.java
License:Open Source License
private void writeModelBridgeImpl(SourceWriter sw) { sw.println("private static final class %sModelBridge extends ModelBridge<%s> {", modelClassName, modelClassName);/*from ww w .ja va2s. c o m*/ sw.indent(); sw.println("public %sModelBridge(%s jsoBuilder) {", modelClassName, BridgeCapabilities.JSO_BUILDER_CLASS); sw.indentln("super(jsoBuilder);"); sw.println("}"); sw.println(); sw.println("@Override"); sw.println("protected JavaScriptObject bridgeInternal(%s in, %s jsoBuilder) {", modelClassName, BridgeCapabilities.JSO_BUILDER_CLASS); sw.indent(); sw.println("JavaScriptObject target = JavaScriptObject.createObject();"); sw.println("jsoBuilder.setTarget(target);"); for (MappableMethod modelMethod : inspector.getMappableModelMethods()) { BridgeMethod bridgeMethod = bridgeCapabilities.getBridgeMethod(modelMethod.getReturnType()); sw.println("jsoBuilder.%s(\"%s\", in.%s());", bridgeMethod.getName(), modelMethod.getAttributeName(), modelMethod.getName()); } MappableMethod modelIdGeneratorMethod = inspector.getModelIdGeneratorMethod(); if (modelIdGeneratorMethod != null) { BridgeMethod bridgeMethod = bridgeCapabilities.getBridgeMethod(modelIdGeneratorMethod.getReturnType()); sw.println(); sw.println("jsoBuilder.%s(\"%s\", in.%s());", bridgeMethod.getName(), "id", modelIdGeneratorMethod.getName()); } if (inspector.modelUsesCustomAttributes()) { sw.println("((%s) in).setCustomRhizosphereAttributes(jsoBuilder);", ModelInspector.CUSTOM_ATTRIBUTES_INTERFACE); } sw.println("return target;"); // Close bridgeInternal() method sw.outdent(); sw.println("}"); // Close class definition sw.outdent(); sw.println("}"); }
From source file:com.rhizospherejs.gwt.rebind.MappingWriter.java
License:Open Source License
private void writeMetaModelFactoryImpl(SourceWriter sw) { sw.println("private static final class %sMetaModelFactory extends MetaModelFactory {", modelClassName); sw.indent(); sw.println("public %sMetaModelFactory() {", modelClassName); sw.indentln("super();"); sw.println("}"); sw.println();/*from www. j av a 2 s. c o m*/ sw.println("public %sMetaModelFactory(%s attrBuilder) {", modelClassName, BridgeCapabilities.METAMODEL_ATTRIBUTE_BUILDER_CLASS); sw.indentln("super(attrBuilder);"); sw.println("}"); sw.println(); sw.println("@Override"); sw.println("protected void fillMetaModelAttributes(" + "RhizosphereMetaModel metaModel, AttributeBuilder attrBuilder) {"); sw.indent(); sw.println("Attribute attr;"); sw.println("AttributeDescriptor descriptor;"); sw.println("RhizosphereKind kind;"); for (MappableMethod modelMethod : inspector.getMappableModelMethods()) { if (!modelMethod.contributesToMetaModel()) { continue; } String labelParameter = modelMethod.getAttributeLabel() != null ? "\"" + modelMethod.getAttributeLabel() + "\"" : "null"; sw.println("attr = metaModel.newAttribute(\"%s\");", modelMethod.getAttributeName()); sw.println("descriptor = new %s();", modelMethod.getAttributeDescriptorClassName()); sw.println("kind = RhizosphereKind.valueOf(RhizosphereKind.class, \"%s\");", bridgeCapabilities.getBridgeMethod(modelMethod.getReturnType()).getRhizosphereKind().name()); sw.println("attrBuilder.fillAttribute(attr, descriptor, \"%s\", %s, kind);", modelMethod.getAttributeName(), labelParameter); sw.println(); } sw.outdent(); sw.println("}"); sw.outdent(); sw.println("}"); }
From source file:com.seanchenxi.gwt.storage.rebind.StorageKeyProviderGenerator.java
License:Apache License
private void writeMethods(SourceWriter sw) throws UnableToCompleteException { final String keyParamName = "key"; final String varKeyValueName = "keyValue"; for (StorageKeyProviderMethod method : model.getMethods()) { final String returnName = method.getReturnType().getParameterizedQualifiedSourceName(); final String parameters = method.isDynamicKey() ? (method.getKeyValueType().getQualifiedSourceName() + " " + keyParamName) : ""; final String keyPrefix = method.getKeyPrefix(); final String keySuffix = method.getKeySuffix(); sw.println();/*from www . j a v a 2 s . c o m*/ sw.println("public %s %s(%s) {", returnName, method.getName(), parameters); sw.indent(); String keyClazz = method.getKeyClazz().getQualifiedSourceName(); if (method.isDynamicKey()) { String keyPrefixStr = ""; String keySuffixStr = ""; if (keyPrefix != null && !keyPrefix.trim().isEmpty()) { keyPrefixStr = "\"" + keyPrefix + "\" + "; } if (keySuffix != null && !keySuffix.trim().isEmpty()) { keySuffixStr = " + \"" + keySuffix + "\""; } sw.println("String %s = %sString.valueOf(key)%s;", varKeyValueName, keyPrefixStr, keySuffixStr); sw.println("return createIfAbsent(%s, %s.class);", varKeyValueName, keyClazz); } else { String staticKeyValue = method.getStaticKeyValue(); if (keyPrefix != null && !keyPrefix.trim().isEmpty()) { staticKeyValue = keyPrefix + staticKeyValue; } if (keySuffix != null && !keySuffix.trim().isEmpty()) { staticKeyValue += keySuffix; } sw.println("return createIfAbsent(\"%s\", %s.class);", staticKeyValue, keyClazz); } sw.outdent(); sw.println("}"); } }
From source file:com.seanchenxi.resteasy.autobean.generator.RESTServiceGenerator.java
License:Apache License
@Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { TypeOracle oracle = context.getTypeOracle(); String asyncTypeName = typeName + "Async"; JClassType asyncType = null;//ww w . j av a2 s . co m String packageName = null; String simpleName = null; try { asyncType = oracle.findType(asyncTypeName); asyncType = asyncType.isInterface(); packageName = asyncType.getPackage().getName(); simpleName = asyncType.getSimpleSourceName() + "Impl"; } catch (Exception e) { logger.log(TreeLogger.ERROR, asyncTypeName + " is not found or is not an interface", e); throw new UnableToCompleteException(); } PrintWriter printWriter = context.tryCreate(logger, packageName, simpleName); if (printWriter == null) { return packageName + "." + simpleName; } // This method will complete httpMethods map and restPaths map; parseSyncType(typeName, oracle, logger); ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(packageName, simpleName); factory.addImplementedInterface(asyncTypeName); factory.setSuperclass(RESTServiceProxy.class.getName()); factory.addImport(RequestBuilder.class.getName()); factory.addImport(RESTRequest.class.getName()); SourceWriter writer = factory.createSourceWriter(context, printWriter); writer.indent(); writer.println(""); for (JMethod asyncMethod : asyncType.getMethods()) { writeAsyncMethod(asyncTypeName, asyncMethod, writer, logger); } writer.outdent(); writer.commit(logger); return factory.getCreatedClassName(); }
From source file:com.seanchenxi.resteasy.autobean.generator.ThrowableFactoryGenerator.java
License:Apache License
@Override public String generate(TreeLogger logger, GeneratorContext context, String typeName) throws UnableToCompleteException { TypeOracle oracle = context.getTypeOracle(); JClassType type = oracle.findType(typeName); type = type.isInterface();//from w w w . j a v a 2 s . c om if (type == null) { logger.log(TreeLogger.ERROR, typeName + " is not found"); throw new UnableToCompleteException(); } String packageName = type.getPackage().getName(); String simpleName = type.getSimpleSourceName() + "Impl"; PrintWriter printWriter = context.tryCreate(logger, packageName, simpleName); if (printWriter == null) { return packageName + "." + simpleName; } ClassSourceFileComposerFactory factory = new ClassSourceFileComposerFactory(packageName, simpleName); factory.addImplementedInterface(typeName); factory.addImport(Throwable.class.getName()); SourceWriter writer = factory.createSourceWriter(context, printWriter); writer.indent(); writer.println("@Override"); writer.println("public Throwable create(String className, String message){"); for (String qname : getAllThrowableTypes(oracle, logger)) { writer.println(" if(\"" + qname + "\".equals(className)) {"); writer.println(" return new " + qname + " (message);"); writer.println(" }"); } writer.println(" return new Throwable(message);"); writer.println("}"); writer.outdent(); writer.commit(logger); return factory.getCreatedClassName(); }
From source file:com.sencha.gxt.core.rebind.useragent.UserAgentPropertyGenerator.java
License:sencha.com license
@Override public String generate(TreeLogger logger, SortedSet<String> possibleValues, String fallback, SortedSet<ConfigurationProperty> configProperties) throws UnableToCompleteException { SourceWriter sw = new StringSourceWriter(); sw.println("{"); sw.println("var ua = navigator.userAgent.toLowerCase();"); // Microsoft Edge uaContains(sw, "edge/", "edge"); uaContains(sw, "chrome", "chrome"); sw.println("if (ua.indexOf('trident') != -1 || ua.indexOf('msie') != -1) {"); sw.indent(); // TODO ChromeFrame? docModeGreaterThan(sw, 11, "ie11"); docModeGreaterThan(sw, 10, "ie10"); docModeGreaterThan(sw, 9, "ie9"); docModeGreaterThan(sw, 8, "ie8"); // last assume newest sw.println("return 'ie10';"); sw.outdent();//from w w w .j a va 2s .c o m sw.println("}"); sw.println("if (ua.indexOf('safari') != -1) {"); sw.indent(); uaContains(sw, "version/3", "safari3"); uaContains(sw, "version/4", "safari4"); // else assume newest // simpleStatement(sw, "version/5", "safari5"); sw.println("return 'safari5';"); sw.outdent(); sw.println("}"); sw.println("if (ua.indexOf('gecko') != -1) {"); sw.indent(); uaContains(sw, "rv:1.8", "gecko1_8"); // Don't check for rev 1.9, check instead for the newest version, and treat // all // gecko browsers that don't match a rule as the newest version // simpleStatement(sw, "rv:1.9", "gecko1_9"); sw.println("return 'gecko1_9';"); sw.outdent(); sw.println("}"); uaContains(sw, "adobeair", "air"); sw.println("return null;}"); return sw.toString(); }