LoboEvolution/LoboEvolution

View on GitHub
LoboCommon/src/main/java/org/loboevolution/html/HTMLEntities.java

Summary

Maintainability
B
5 hrs
Test Coverage

File HTMLEntities.java has 375 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*
 * MIT License
 *
 * Copyright (c) 2014 - 2024 LoboEvolution
 *
Severity: Minor
Found in LoboCommon/src/main/java/org/loboevolution/html/HTMLEntities.java - About 5 hrs to fix

    Add a private constructor to hide the implicit public one.
    Open

    public class HTMLEntities {

    Utility classes, which are collections of static members, are not meant to be instantiated. Even abstract utility classes, which can be extended, should not have public constructors.

    Java adds an implicit public constructor to every class which does not define at least one explicitly. Hence, at least one non-public constructor should be defined.

    Noncompliant Code Example

    class StringUtils { // Noncompliant
    
      public static String concatenate(String s1, String s2) {
        return s1 + s2;
      }
    
    }
    

    Compliant Solution

    class StringUtils { // Compliant
    
      private StringUtils() {
        throw new IllegalStateException("Utility class");
      }
    
      public static String concatenate(String s1, String s2) {
        return s1 + s2;
      }
    
    }
    

    Exceptions

    When class contains public static void main(String[] args) method it is not considered as utility class and will be ignored by this rule.

    There are no issues that match your filters.

    Category
    Status