Reports singleton classes.

Singleton classes are declared in a way that only one instance of the class can ever be instantiated. Singleton classes complicate testing, and their presence may indicate a lack of object-oriented design.

Example:


  class Singleton {
    private static final Singleton ourInstance = new Singleton();

    private Singleton() {
    }

    public Singleton getInstance() {
        return ourInstance;
    }
  }