From ee8622e54f01bb502c0a1a0f157ff641daefdb35 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Thu, 21 Jul 2022 15:45:42 +0200 Subject: [PATCH] [core] Internalize methods in CPDConfiguration and CPDRendererAdapter --- docs/pages/release_notes.md | 13 +++++++++++ .../sourceforge/pmd/cpd/CPDConfiguration.java | 23 ++++++++++++------- .../pmd/cpd/renderer/CPDRendererAdapter.java | 9 ++++++++ 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md index 56690a23a0..7202d238fa 100644 --- a/docs/pages/release_notes.md +++ b/docs/pages/release_notes.md @@ -69,6 +69,19 @@ Being based on a proper Antlr grammar, CPD can: * {% jdoc java::lang.java.ast.ASTRecordPattern %} * {% jdoc java::lang.java.ast.ASTComponentPatternList %} +#### Internal API + +Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0. +You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning. + +* {%jdoc !!core::cpd.CPDConfiguration#setRenderer(net.sourceforge.pmd.cpd.Renderer) %} +* {%jdoc !!core::cpd.CPDConfiguration#setCPDRenderer(net.sourceforge.pmd.cpd.renderer.CPDRenderer) %} +* {%jdoc !!core::cpd.CPDConfiguration#getRenderer() %} +* {%jdoc !!core::cpd.CPDConfiguration#getCPDRenderer() %} +* {%jdoc !!core::cpd.CPDConfiguration#getRendererFromString(java.lang.String,java.lang.String) %} +* {%jdoc !!core::cpd.CPDConfiguration#getCPDRendererFromString(java.lang.String,java.lang.String) %} +* {%jdoc core::cpd.renderer.CPDRendererAdapter %} + ### External Contributions * [#3984](https://github.com/pmd/pmd/pull/3984): \[java] Fix AddEmptyString false-negative issue - [@LiGaOg](https://github.com/LiGaOg) * [#3988](https://github.com/pmd/pmd/pull/3988): \[java] Modify WhileLoopWithLiteralBoolean to meet the missing case #3455 - [@VoidxHoshi](https://github.com/VoidxHoshi) diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java index a9f6ef8967..aa82be9ff1 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java @@ -21,6 +21,7 @@ import java.util.Properties; import java.util.Set; import net.sourceforge.pmd.AbstractConfiguration; +import net.sourceforge.pmd.annotation.InternalApi; import net.sourceforge.pmd.cpd.renderer.CPDRenderer; import net.sourceforge.pmd.cpd.renderer.CPDRendererAdapter; import net.sourceforge.pmd.cpd.renderer.CPDReportRenderer; @@ -189,9 +190,10 @@ public class CPDConfiguration extends AbstractConfiguration { } /** - * @deprecated Use {@link #getCPDRendererFromString(String, String)} instead + * @deprecated Internal API */ @Deprecated + @InternalApi public static Renderer getRendererFromString(String name, String encoding) { String clazzname = name; if (clazzname == null || "".equals(clazzname)) { @@ -218,9 +220,10 @@ public class CPDConfiguration extends AbstractConfiguration { } /** - * @deprecated use {@link #getCPDReportRendererFromString(String, String)} + * @deprecated Internal API */ @Deprecated + @InternalApi public static CPDRenderer getCPDRendererFromString(String name, String encoding) { String clazzname = name; if (clazzname == null || "".equals(clazzname)) { @@ -245,7 +248,7 @@ public class CPDConfiguration extends AbstractConfiguration { } } - public static CPDReportRenderer getCPDReportRendererFromString(String name, String encoding) { + static CPDReportRenderer getCPDReportRendererFromString(String name, String encoding) { final CPDRenderer renderer = getCPDRendererFromString(name, encoding); if (renderer instanceof CPDReportRenderer) { return (CPDReportRenderer) renderer; @@ -342,17 +345,19 @@ public class CPDConfiguration extends AbstractConfiguration { } /** - * @deprecated Use {@link #getCPDRenderer()} instead + * @deprecated Internal API. */ @Deprecated + @InternalApi public Renderer getRenderer() { return renderer; } /** - * @deprecated Use {@link #getCPDReportRenderer()} instead + * @deprecated Internal API. */ @Deprecated + @InternalApi public CPDRenderer getCPDRenderer() { return cpdRenderer; } @@ -404,26 +409,28 @@ public class CPDConfiguration extends AbstractConfiguration { } /** - * @deprecated Use {@link #setCPDRenderer(CPDRenderer)} instead + * @deprecated Internal API. Use {@link #setRendererName(String)} instead. * @param renderer */ @Deprecated + @InternalApi public void setRenderer(Renderer renderer) { this.renderer = renderer; this.cpdRenderer = null; } /** - * @deprecated Use {@link #setRenderer(CPDReportRenderer)} instead + * @deprecated Internal API. Use {@link #setRendererName(String)} instead. * @param renderer */ @Deprecated + @InternalApi public void setCPDRenderer(CPDRenderer renderer) { this.cpdRenderer = renderer; this.renderer = null; } - public void setRenderer(CPDReportRenderer renderer) { + void setRenderer(CPDReportRenderer renderer) { this.renderer = null; this.cpdRenderer = null; this.cpdReportRenderer = renderer; diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/renderer/CPDRendererAdapter.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/renderer/CPDRendererAdapter.java index 8a358ae634..8e3e6b5fe3 100644 --- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/renderer/CPDRendererAdapter.java +++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/renderer/CPDRendererAdapter.java @@ -7,8 +7,17 @@ package net.sourceforge.pmd.cpd.renderer; import java.io.IOException; import java.io.Writer; +import net.sourceforge.pmd.annotation.InternalApi; import net.sourceforge.pmd.cpd.CPDReport; +/** + * Adapter to convert an old {@link CPDRenderer} into a {@link CPDReportRenderer}. + * + * @deprecated This is internal API. If you want to write your own renderer, directly implement + * {@link CPDReportRenderer}. + */ +@Deprecated +@InternalApi public class CPDRendererAdapter implements CPDReportRenderer { private final CPDRenderer renderer;