Cleanup access to supported Renderer formats

This commit is contained in:
Juan Martín Sotuyo Dodero
2022-07-22 10:55:39 -03:00
parent 9406b7747f
commit e4f5d027b2
3 changed files with 13 additions and 3 deletions

View File

@ -147,7 +147,7 @@ public class Formatter {
}
private static String[] validRendererCodes() {
return RendererFactory.REPORT_FORMAT_TO_RENDERER.keySet().toArray(new String[0]);
return RendererFactory.supportedRenderers().toArray(new String[0]);
}
private static String unknownRendererMessage(String userSpecifiedType) {

View File

@ -166,7 +166,7 @@ public final class PMDCommandLineInterface {
private static String getReports() {
StringBuilder buf = new StringBuilder();
for (String reportName : RendererFactory.REPORT_FORMAT_TO_RENDERER.keySet()) {
for (String reportName : RendererFactory.supportedRenderers()) {
Renderer renderer = RendererFactory.createRenderer(reportName, new Properties());
buf.append(" ").append(reportName).append(": ");
if (!reportName.equals(renderer.getName())) {

View File

@ -10,6 +10,7 @@ import java.lang.reflect.Modifier;
import java.util.Collections;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
import org.slf4j.Logger;
@ -27,7 +28,7 @@ public final class RendererFactory {
private static final Logger LOG = LoggerFactory.getLogger(RendererFactory.class);
public static final Map<String, Class<? extends Renderer>> REPORT_FORMAT_TO_RENDERER;
private static final Map<String, Class<? extends Renderer>> REPORT_FORMAT_TO_RENDERER;
static {
Map<String, Class<? extends Renderer>> map = new TreeMap<>();
@ -52,6 +53,15 @@ public final class RendererFactory {
private RendererFactory() { }
/**
* Retrieves a collection of all supported renderer names.
*
* @return The set of all supported renderer names.
*/
public static Set<String> supportedRenderers() {
return Collections.unmodifiableSet(REPORT_FORMAT_TO_RENDERER.keySet());
}
/**
* Construct an instance of a Renderer based on report format name.
*