private SourceWriter getSourceWriter( TreeLogger logger, GeneratorContextExt ctx, JClassType serviceAsync) { JPackage serviceIntfPkg = serviceAsync.getPackage(); String packageName = serviceIntfPkg == null ? "" : serviceIntfPkg.getName(); PrintWriter printWriter = ctx.tryCreate(logger, packageName, getProxySimpleName()); if (printWriter == null) { return null; } ClassSourceFileComposerFactory composerFactory = new ClassSourceFileComposerFactory(packageName, getProxySimpleName()); String[] imports = new String[] { getProxySupertype().getCanonicalName(), getStreamWriterClass().getCanonicalName(), SerializationStreamWriter.class.getCanonicalName(), GWT.class.getCanonicalName(), ResponseReader.class.getCanonicalName(), SerializationException.class.getCanonicalName(), RpcToken.class.getCanonicalName(), RpcTokenException.class.getCanonicalName(), Impl.class.getCanonicalName(), RpcStatsContext.class.getCanonicalName() }; for (String imp : imports) { composerFactory.addImport(imp); } composerFactory.setSuperclass(getProxySupertype().getSimpleName()); composerFactory.addImplementedInterface(serviceAsync.getErasedType().getQualifiedSourceName()); return composerFactory.createSourceWriter(ctx, printWriter); }
/** @return a sourceWriter for the proxy class */ @Override protected SourcePrinter getSourcePrinter() { JPackage pkg = baseIntf.getPackage(); String packageName = pkg == null ? "" : pkg.getName(); PrintWriter printWriter = context.tryCreate(logger, packageName, getProxySimpleName()); if (printWriter == null) { return null; } ClassSourceFileComposerFactory composerFactory = new ClassSourceFileComposerFactory(packageName, getProxySimpleName()); String[] imports = getImports(); for (String imp : imports) { composerFactory.addImport(imp); } composerFactory.setSuperclass(WSQLAbstractDatabase.class.getCanonicalName()); composerFactory.addImplementedInterface(baseIntf.getQualifiedSourceName()); return new SourcePrinter(composerFactory.createSourceWriter(context, printWriter), logger); }