protected MutableDeclaredType[] getTargetClassNames(ConfigurationTypeElement configurationTypeElement) { return new MutableDeclaredType[] { configurationTypeElement.getDto() }; }
@Override protected MutableDeclaredType[] getOutputClasses(RoundContext context) { return new MutableDeclaredType[] { getConfigurationElement(context).getDto() }; }
@Override protected boolean checkPreconditions(ProcessorContext context, boolean alreadyExists) { //TODO context.getOutputClass is DTO, so use it! ConfigurationTypeElement configurationTypeElement = getConfigurationElement(context); if (!configurationTypeElement.getDto().isGenerated()) { return false; } return super.checkPreconditions(context, alreadyExists); }
protected String processMethodBody(String body) { Set<? extends Element> configurations = getClassPathTypes().getElementsAnnotatedWith(TransferObjectMapping.class, roundEnv);//processingEnv.getEnvironmentContext().getRoundEnv().getElementsAnnotatedWith(TransferObjectMapping.class); for (Element configuration: configurations) { if (configuration.getAnnotation(Generated.class) == null && (configuration.getKind().isClass() || configuration.getKind().isInterface())) { ConfigurationContext configurationContext = new ConfigurationContext(processingEnv.getEnvironmentContext().getConfigurationEnv()); ConfigurationTypeElement configurationTypeElement = new ConfigurationTypeElement(configuration, processingEnv.getEnvironmentContext(), configurationContext); configurationContext.addConfiguration(configurationTypeElement); String domainElementName = configurationTypeElement.getInstantiableDomainSpecified() == null ? null : configurationTypeElement.getInstantiableDomainSpecified().getSimpleName().toString(); if (domainElementName != null) { body = replaceDomainType(domainElementName, configurationTypeElement.getDto(), body); } domainElementName = configurationTypeElement.getDomain().getSimpleName(); body = replaceDomainType(domainElementName, configurationTypeElement.getDto(), body); } } return body; }
@Override public void print(TransferObjectContext context) { if (context.isSuperclassMethod()) { return; } if (!initialized) { pw.println("public " + context.getConfigurationTypeElement().getDto().getSimpleName() + "() {}"); pw.println(); initialized = true; } } }
@Override public void initialize(ConfigurationTypeElement configurationTypeElement, MutableDeclaredType outputName) { active = new GenerateCloneAccessor(configurationTypeElement.asConfigurationElement(), processingEnv).generate(); if (!active) { return; } DtoDeclaredType dto = configurationTypeElement.getDto(); pw.println("public ", dto, " clone() {"); pw.println(dto, " " + RESULT_NAME + " = new ", dto, "();"); pw.println(); }
@Override protected void printAnnotations(ProcessorContext context) { FormattedPrintWriter pw = context.getPrintWriter(); pw.println("@SuppressWarnings(\"serial\")"); ConfigurationTypeElement configurationTypeElement = getConfigurationElement(context); pw.print("@", TransferObjectMapping.class, "("); pw.println("dtoClass = " + configurationTypeElement.getDto().getSimpleName() + ".class,"); pw.println(" domainClassName = \"" + configurationTypeElement.getInstantiableDomainSpecified().getQualifiedName().toString() + "\", "); pw.println(" configurationClassName = \"" + context.getTypeElement().toString() + "\", "); pw.print(" generateConverter = false, generateDto = false"); if (configurationTypeElement.getConverter() != null) { pw.println(", "); pw.print(" converterClassName = \""); pw.print(configurationTypeElement.getConverter().getCanonicalName()); pw.print("\""); } pw.println(")"); super.printAnnotations(context); }
ConverterProviderPrinterContext printerContext = new ConverterProviderPrinterContext(configurationForDomain.getDto(), configurationForDomain); nestedElementPrinter.print(printerContext);
@Override public void initialize(ConfigurationTypeElement configurationElement, MutableDeclaredType outputName) { DtoDeclaredType dtoType = configurationElement.getDto(); DomainDeclaredType domainType = configurationElement.getDomain(); DtoDeclaredType dtoSuperClass = configurationElement.getDto().getSuperClass(); dtoSuperClass = dtoSuperClass.getDomainDefinitionConfiguration().getDto();
@Override public void initialize(ConfigurationTypeElement configurationElement, MutableDeclaredType outputName) { DtoDeclaredType dtoType = configurationElement.getDto(); DomainDeclaredType domainType = configurationElement.getDomain(); pw.println(); MutableExecutableElement dtoIdMethod = configurationElement.getDto().getIdMethod(entityResolver); DtoDeclaredType dtoSuperClass = configurationElement.getDto().getSuperClass(); dtoSuperClass = dtoSuperClass.getDomainDefinitionConfiguration().getDto();