![JAR search and dependency download from the Maven repository](/logo.png)
sk.seges.sesam.pap.service.printer.AbstractParameterCollectorPrinter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sesam-service-converter-processor Show documentation
Show all versions of sesam-service-converter-processor Show documentation
SeSAM service converter annotation processor
The newest version!
package sk.seges.sesam.pap.service.printer;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import sk.seges.sesam.core.pap.model.ConverterConstructorParameter;
import sk.seges.sesam.core.pap.model.mutable.api.MutableDeclaredType;
import sk.seges.sesam.pap.model.model.TransferObjectProcessingEnvironment;
import sk.seges.sesam.pap.model.resolver.ConverterConstructorParametersResolverProvider;
import sk.seges.sesam.pap.service.model.ServiceConverterParametersFilter;
import sk.seges.sesam.pap.service.model.ServiceTypeElement;
import sk.seges.sesam.pap.service.printer.api.ServiceConverterElementPrinter;
import sk.seges.sesam.pap.service.printer.model.ServiceConverterPrinterContext;
public abstract class AbstractParameterCollectorPrinter extends AbstractServicePrinter implements ServiceConverterElementPrinter {
protected List converterParameters = new ArrayList();
protected final ServiceConverterParametersFilter parametersFilter;
protected AbstractParameterCollectorPrinter(TransferObjectProcessingEnvironment processingEnv, ServiceConverterParametersFilter parametersFilter,
ConverterConstructorParametersResolverProvider parametersResolverProvider) {
super(processingEnv, parametersResolverProvider);
this.parametersFilter = parametersFilter;
}
@Override
public void initialize(ServiceTypeElement serviceTypeElement, MutableDeclaredType outputName) {}
@Override
public void print(ServiceConverterPrinterContext context) {
List newParams = parametersFilter.getPropagatedParameters(getConverterParameters(context.getService(), context.getLocalServiceInterface()));
converterParameters.addAll(mergeSameParams(newParams));
converterParameters = unifyParameterNames(new ArrayList(), mergeSameParams(converterParameters));
Collections.sort(converterParameters, new Comparator() {
@Override
public int compare(ConverterConstructorParameter o1, ConverterConstructorParameter o2) {
return o1.getName().compareTo(o2.getName());
}
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy