Package net.sourceforge.pmd.lang
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 aLanguage
. 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 byRule.getMinimumLanguageVersion()
andRule.getMaximumLanguageVersion()
. These should be set in the ruleset XML (they're attributes of the<rule>
element), and not overridden.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(LanguageVersion o)
int
compareToVersion(String versionString)
Compare this version to another version of the same language identified by the given version string.boolean
equals(Object o)
Language
getLanguage()
Returns the language that owns this version.String
getName()
Returns the name of this language version.String
getShortName()
Get the short name of this LanguageVersion.String
getTerseName()
Get the terse name of this LanguageVersion.String
getVersion()
Returns the version string.int
hashCode()
String
toString()
-
-
-
Method Detail
-
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 byLanguage.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 interfaceComparable<LanguageVersion>
-
-