Class LanguageVersion

java.lang.Object
net.sourceforge.pmd.lang.LanguageVersion
All Implemented Interfaces:
Comparable<LanguageVersion>

public final class LanguageVersion extends Object implements Comparable<LanguageVersion>
Represents a version of a Language. Language instances provide a list of supported versions (Language.getVersions()). Individual versions can be retrieved from their version number (Language.getVersion(String)).

Versions are used to limit some rules to operate on only a version range. For instance, a rule that suggests eliding local variable types in Java (replacing them with var) makes no sense if the codebase is not using Java 10 or later. This is determined by Rule.getMinimumLanguageVersion() and Rule.getMaximumLanguageVersion(). These should be set in the ruleset XML (they're attributes of the <rule> element), and not overridden.

  • Method Details

    • getLanguage

      public Language getLanguage()
      Returns the language that owns this version.
    • getVersion

      public String getVersion()
      Returns the version string. This is usually a version number, e.g. "1.7" or "11". This is used by Language.getVersion(String).
    • getName

      public String getName()
      Returns the name of this language version. This is the version string prefixed with the language name.
      Returns:
      The name of this LanguageVersion.
    • getShortName

      public String getShortName()
      Get the short name of this LanguageVersion. This is Language short name appended with the LanguageVersion version if not an empty String.
      Returns:
      The short name of this LanguageVersion.
    • getTerseName

      public String getTerseName()
      Get the terse name of this LanguageVersion. This is Language id appended with the LanguageVersion version if not an empty String.
      Returns:
      The terse name of this LanguageVersion.
    • compareToVersion

      public int compareToVersion(String versionString)
      Compare this version to another version of the same language identified by the given version string.
      Parameters:
      versionString - The version with which to compare
      Throws:
      IllegalArgumentException - If the argument is not a valid version string for the parent language
    • compareTo

      public int compareTo(LanguageVersion o)
      Specified by:
      compareTo in interface Comparable<LanguageVersion>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object