Skip to content

Commit fd45d7b

Browse files
authored
Mark utility classes final and gate PMD (#4423)
1 parent 790bd25 commit fd45d7b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+53
-41
lines changed

.github/scripts/generate-quality-report.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,18 @@ def _is_exempt(f: Finding) -> bool:
895895
print(f" - {v.rule}: {v.location} - {v.message}")
896896
exit(1)
897897

898+
pmd = parse_pmd()
899+
if pmd:
900+
forbidden_pmd_rules = {
901+
"ClassWithOnlyPrivateConstructorsShouldBeFinal",
902+
}
903+
violations = [f for f in pmd.findings if f.rule in forbidden_pmd_rules]
904+
if violations:
905+
print("\n❌ Build failed due to forbidden PMD violations:")
906+
for v in violations:
907+
print(f" - {v.rule}: {v.location} - {v.message}")
908+
exit(1)
909+
898910

899911
if __name__ == "__main__":
900912
main()

CodenameOne/src/com/codename1/charts/util/MathHelper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
/**
2727
* Utility class for math operations.
2828
*/
29-
public class MathHelper {
29+
public final class MathHelper {
3030
/** A value that is used a null value. */
3131
public static final double NULL_VALUE = -Double.MAX_VALUE + 1;
3232
/**

CodenameOne/src/com/codename1/components/ClearableTextField.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
*
4040
* @author Shai Almog
4141
*/
42-
public class ClearableTextField extends Container {
42+
public final class ClearableTextField extends Container {
4343
private ClearableTextField() {
4444
super(new BorderLayout());
4545
}

CodenameOne/src/com/codename1/components/FileEncodedImage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
*
4242
* @author Shai Almog
4343
*/
44-
public class FileEncodedImage extends EncodedImage {
44+
public final class FileEncodedImage extends EncodedImage {
4545
private final String fileName;
4646
private final boolean keep;
4747
private byte[] data;

CodenameOne/src/com/codename1/components/FileEncodedImageAsync.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
*
4242
* @author Shai Almog
4343
*/
44-
public class FileEncodedImageAsync extends EncodedImage {
44+
public final class FileEncodedImageAsync extends EncodedImage {
4545
private static final Object LOCK = new Object();
4646
private final String fileName;
4747
private boolean changePending;

CodenameOne/src/com/codename1/components/InfiniteScrollAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
*
5050
* @author Shai Almog
5151
*/
52-
public class InfiniteScrollAdapter {
52+
public final class InfiniteScrollAdapter {
5353
private Container infiniteContainer;
5454
private Runnable fetchMore;
5555
private final Component ip;

CodenameOne/src/com/codename1/components/ReplaceableImage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
*
3333
* @author Shai Almog
3434
*/
35-
public class ReplaceableImage extends EncodedImage {
35+
public final class ReplaceableImage extends EncodedImage {
3636
private boolean replaced;
3737
private byte[] data;
3838
private final boolean opaque;

CodenameOne/src/com/codename1/components/StorageImage.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
*
3737
* @author Shai Almog
3838
*/
39-
public class StorageImage extends EncodedImage {
39+
public final class StorageImage extends EncodedImage {
4040
private final String fileName;
4141
private final boolean keep;
4242
private byte[] data;

CodenameOne/src/com/codename1/components/StorageImageAsync.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
*
3535
* @author Shai Almog
3636
*/
37-
public class StorageImageAsync extends EncodedImage {
37+
public final class StorageImageAsync extends EncodedImage {
3838
private static final Object LOCK = new Object();
3939
private final String fileName;
4040
private boolean changePending;

CodenameOne/src/com/codename1/components/ToastBar.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@
8282
*
8383
* @author shannah
8484
*/
85-
public class ToastBar {
85+
public final class ToastBar {
8686

8787
/**
8888
* The default timeout for info/error messages

0 commit comments

Comments
 (0)