private void outputModule(Type moduleType) { logger.debug("Generating GIN module `%s`.", moduleType.getQualifiedName()); FileObject fileObject = sourceFiles.get(moduleType); Multimap<Type, GinBinding> setBindings = setBinders.get(moduleType); Set<Entry<Type, Collection<GinBinding>>> setBindingsEntries = setBindings == null ? new HashSet<>() : setBindings.asMap().entrySet(); outputter .configure(TEMPLATE) .withParam("bindings", bindings.get(moduleType)) .withParam("setBindings", setBindingsEntries) .withParam("subModules", subModules.get(moduleType)) .writeTo(moduleType, fileObject); } }
@Override protected void processAsApp(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { ensureAppDataIsInitialized(); extractNameTokens(roundEnv); if (roundEnv.processingOver()) { outputter.configure(TEMPLATE) .withParam("tokens", tokens) .writeTo(REGISTRY_TYPE, registryFile); } }
public void write() { logger.debug("Generating named provider bundle aggregate `%s`.", type); outputter.configure(TEMPLATE) .withParam("bundles", content) .writeTo(type, file); }
@Override public void processLast() { logger.debug("Generating Jackson serialization policy `%s`.", impl.getQualifiedName()); outputter.configure(TEMPLATE) .withParam("mappers", mappers.values()) .writeTo(impl, sourceFile); } }
public void write() { aggregates.values().forEach(ProviderBundleAggregate::write); logger.debug("Generating named provider bundle collection."); outputter.configure(TEMPLATE) .withParam("bundles", bundles) .withImports(getImports()) .writeTo(TYPE, file); }
private void outputBundle(Type bundleType) { logger.debug("Generating provider bundle `%s`.", bundleType); Type roundBundleType = new Type( bundleType.getPackageName(), appendRoundNumber(bundleType.getSimpleName()), bundleType.getTypeArguments()); outputter.configure(TEMPLATE) .withParam("providerTypes", bundleContents.get(bundleType)) .withParam("name", bundleNames.get(bundleType)) .writeTo(roundBundleType); }
@Override public JacksonMapper process(SerializationContext context) { logger.debug("Generating Jackson mapper for `%s`.", context.getType().getQualifiedParameterizedName()); JacksonMapper mapper = processMapper(context); outputter.configure(TEMPLATE) .withParam("mapped", mapper.getMapped()) .writeTo(mapper.getType()); return mapper; }
@Override public Type process(ProxyDetails proxy) { logger.debug("Generating proxy place `%s`.", proxy.getProxyType()); outputter.configure(TEMPLATE) .withParam("proxy", proxy) .writeTo(proxy.getType()); BundleDetails bundleDetails = proxy.getBundleDetails(); if (bundleDetails != null) { providerBundleProcessor.process(bundleDetails); } proxyModules.bindProxy(proxy); return proxy.getType(); } }
@Override public Type process(ProxyDetails proxy) { logger.debug("Generating proxy `%s`.", proxy.getProxyType()); outputter.configure(TEMPLATE) .withParam("proxy", proxy) .writeTo(proxy.getType()); BundleDetails bundleDetails = proxy.getBundleDetails(); if (bundleDetails != null) { providerBundleProcessor.process(bundleDetails); } proxyModules.bindProxy(proxy); return proxy.getType(); } }
@Override protected void processSafe(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) { TypeElement gwtpApp = findGwtpAppElement(roundEnv); if (gwtpApp != null) { EntryPoint entryPoint = new EntryPoint(logger, gwtpApp); outputter.configure(APPLICATION_CONTROLLER_TEMPLATE) .withParam("entryPoint", entryPoint) .writeTo(entryPoint.getType()); bindingsProcessors.process(newBinding( MAIN_MODULE_TYPE, new Type(Bootstrapper.class), entryPoint.getBootstrapper(), Singleton.class)); generated = true; } }
@Override public Void process(SubResource subResource) { Type impl = subResource.getType(); Type subResourceType = subResource.getResourceType(); logger.debug("Generating sub-resource implementation `%s`.", impl); List<CodeSnippet> methods = methodProcessors.processAll(subResource.getMethods()); outputter.configure(TEMPLATE) .withParam("subResourceType", subResourceType) .withParam("methods", methods) .withParam("fields", subResource.getFields()) .writeTo(impl); return null; } }
@Override public Void process(RootResource resource) { Type impl = resource.getType(); Type resourceType = resource.getResourceType(); logger.debug("Generating resource implementation `%s`.", impl); List<CodeSnippet> processedMethods = methodProcessors.processAll(resource.getMethods()); outputter.configure(TEMPLATE) .withParam("resource", resourceType) .withParam("methods", processedMethods) .writeTo(impl); bindingsProcessors.process(newBinding(findRestModuleType(utils), resourceType, impl, Singleton.class)); return null; }
@Override public Void process(EndPoint endPoint) { Type type = endPoint.getType(); logger.debug("Generating end-point implementation `%s`.", type); EndPointDetails endPointDetails = endPoint.getEndPointDetails(); List<CodeSnippet> paramSnippets = createInitializerSnippets(endPointDetails.getHttpVariables()); outputter.configure(TEMPLATE) .withParam("endPoint", endPointDetails) .withParam("paramSnippets", paramSnippets) .withParam("fields", endPoint.getFields()) .writeTo(type); generateSerializers(endPoint); return null; }
@Override public CodeSnippet process(ResourceMethod resourceMethod) { SubResourceMethod subResourceMethod = (SubResourceMethod) resourceMethod; String methodName = qualifiedMethodName(resourceMethod); SubResource subResource = subResourceMethod.getSubResource(); logger.debug("Generating sub-resource method `%s`.", methodName); CodeSnippet code = outputter.configure(TEMPLATE) .withParam("method", subResourceMethod.getMethod()) .withParam("subResourceType", subResource.getType()) .withParam("subResourceArguments", subResource.getFields()) .withErrorLogParameter(methodName) .parse(); subResourceProcessor.process(subResource); return code; }
@Override public CodeSnippet process(ResourceMethod resourceMethod) { EndPointMethod endPointMethod = (EndPointMethod) resourceMethod; String methodName = qualifiedMethodName(resourceMethod); EndPoint endPoint = endPointMethod.getEndPoint(); logger.debug("Generating end-point method `%s`.", methodName); CodeSnippet code = outputter.configure(TEMPLATE) .withParam("method", endPointMethod.getMethod()) .withParam("endPointType", endPoint.getType()) .withParam("endPointArguments", endPoint.getFields()) .withErrorLogParameter(methodName) .parse(); endPointProcessor.process(endPoint); return code; }