Class BaseLanguageModule

    • Constructor Detail

      • BaseLanguageModule

        @Deprecated
        public BaseLanguageModule​(String name,
                                  String shortName,
                                  String terseName,
                                  Class<?> ruleChainVisitorClass,
                                  String... extensions)
        Deprecated.
        Use the other constructor. It doesn't require a rulechain visitor class, but forces you to mention at least one file extension.
      • BaseLanguageModule

        public BaseLanguageModule​(String name,
                                  String shortName,
                                  String terseName,
                                  String firstExtension,
                                  String... otherExtensions)
    • Method Detail

      • addVersion

        protected void addVersion​(String version,
                                  LanguageVersionHandler languageVersionHandler,
                                  String... versionAliases)
        Adds a non-default version with the given identifier.
        Throws:
        IllegalArgumentException - If the string key or any of the aliases conflict with other already recorded versions
      • addDefaultVersion

        protected void addDefaultVersion​(String version,
                                         LanguageVersionHandler languageVersionHandler,
                                         String... versionAliases)
        Adds a version with the given identifier, and sets it as the default.
        Throws:
        IllegalStateException - If the default version is already set
        IllegalArgumentException - If the string key or any of the aliases conflict with other already recorded versions
      • getName

        public String getName()
        Description copied from interface: Language
        Get the full name of this Language. This is generally the name of this Language without the use of acronyms.
        Specified by:
        getName in interface Language
        Returns:
        The full name of this Language.
      • getShortName

        public String getShortName()
        Description copied from interface: Language
        Get the short name of this Language. This is the commonly used short form of this Language's name, perhaps an acronym.
        Specified by:
        getShortName in interface Language
        Returns:
        The short name of this Language.
      • getTerseName

        public String getTerseName()
        Description copied from interface: Language
        Get the terse name of this Language. This is used for Rule configuration.
        Specified by:
        getTerseName in interface Language
        Returns:
        The terse name of this Language.
      • getRuleChainVisitorClass

        public Class<?> getRuleChainVisitorClass()
        Description copied from interface: Language
        Get the RuleChainVisitor implementation class used when visiting the AST structure for this Rules for this Language.
        Specified by:
        getRuleChainVisitorClass in interface Language
        Returns:
        The RuleChainVisitor class.
        See Also:
        RuleChainVisitor
      • getExtensions

        public List<String> getExtensions()
        Description copied from interface: Language
        Get the list of file extensions associated with this Language.
        Specified by:
        getExtensions in interface Language
        Returns:
        List of file extensions.
      • hasExtension

        public boolean hasExtension​(String extension)
        Description copied from interface: Language
        Returns whether the given Language handles the given file extension. The comparison is done ignoring case.
        Specified by:
        hasExtension in interface Language
        Parameters:
        extension - A file extension.
        Returns:
        true if this Language handles this extension, false otherwise.
      • getVersions

        public List<LanguageVersion> getVersions()
        Description copied from interface: Language
        Gets the list of supported LanguageVersion for this Language.
        Specified by:
        getVersions in interface Language
        Returns:
        The LanguageVersion for this Language.
      • getVersion

        public LanguageVersion getVersion​(String versionName)
        Description copied from interface: Language
        Get the LanguageVersion for the version string from this Language.
        Specified by:
        getVersion in interface Language
        Parameters:
        versionName - The language version string.
        Returns:
        The corresponding LanguageVersion, null if the version string is not recognized.
      • getDefaultVersion

        public LanguageVersion getDefaultVersion()
        Description copied from interface: Language
        Get the current PMD defined default LanguageVersion for this Language. This is an arbitrary choice made by the PMD product, and can change between PMD releases. Every Language has a default version.
        Specified by:
        getDefaultVersion in interface Language
        Returns:
        The current default LanguageVersion for this Language.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object