Class AbstractRequireRoles<T extends org.apache.maven.model.Contributor>

  • All Implemented Interfaces:
    org.apache.maven.enforcer.rule.api.EnforcerRule, org.apache.maven.enforcer.rule.api.EnforcerRule2
    Direct Known Subclasses:
    RequireContributorRoles, RequireDeveloperRoles

    abstract class AbstractRequireRoles<T extends org.apache.maven.model.Contributor>
    extends AbstractMojoHausEnforcerRule
    This rule checks that certain roles are filled.
    Since:
    1.0-alpha-3
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String requiredRoles
      Specify the required roles as comma separated list.
      private java.lang.String validRoles
      Specify the allowed roles as comma separated list.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      private void checkRequiredRoles​(java.util.Set<java.lang.String> requiredRolesSet, java.util.Set<java.lang.String> rolesFromProject)  
      private void checkValidRoles​(java.util.Set<java.lang.String> requiredRolesSet, java.util.Set<java.lang.String> rolesFromProject)  
      void execute​(org.apache.maven.enforcer.rule.api.EnforcerRuleHelper helper)
      Execute the rule.
      java.lang.String getCacheId()
      (package private) org.apache.maven.project.MavenProject getMavenProject​(org.apache.maven.enforcer.rule.api.EnforcerRuleHelper helper)
      Extracted for easier testability.
      protected abstract java.lang.String getRoleName()
      Returns the rolename.
      protected abstract java.util.List<T> getRoles​(org.apache.maven.project.MavenProject mavenProject)
      Returns the roles from the POM.
      (package private) java.util.Set<java.lang.String> getRolesFromProject​(org.apache.maven.project.MavenProject mavenProject)
      Returns the roles from the POM.
      (package private) java.util.Set<java.lang.String> getRolesFromString​(java.lang.String csRoles)
      Returns the set of required roles from the property.
      boolean isCacheable()
      boolean isResultValid​(org.apache.maven.enforcer.rule.api.EnforcerRule cachedRule)
      (package private) void setRequiredRoles​(java.lang.String requiredRoles)  
      (package private) void setValidRoles​(java.lang.String validRoles)  
      (package private) static java.util.Set<java.lang.String> splitCsvToSet​(java.lang.String csv)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • requiredRoles

        private java.lang.String requiredRoles
        Specify the required roles as comma separated list.
      • validRoles

        private java.lang.String validRoles
        Specify the allowed roles as comma separated list. These are combined with the requiredRoles.
    • Constructor Detail

      • AbstractRequireRoles

        AbstractRequireRoles()
    • Method Detail

      • execute

        public void execute​(org.apache.maven.enforcer.rule.api.EnforcerRuleHelper helper)
                     throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Execute the rule.
        Parameters:
        helper - the helper
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException - the enforcer rule exception
      • checkRequiredRoles

        private void checkRequiredRoles​(java.util.Set<java.lang.String> requiredRolesSet,
                                        java.util.Set<java.lang.String> rolesFromProject)
                                 throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException
      • checkValidRoles

        private void checkValidRoles​(java.util.Set<java.lang.String> requiredRolesSet,
                                     java.util.Set<java.lang.String> rolesFromProject)
                              throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException
      • getRolesFromProject

        final java.util.Set<java.lang.String> getRolesFromProject​(org.apache.maven.project.MavenProject mavenProject)
        Returns the roles from the POM.
        Parameters:
        mavenProject -
        Returns:
        roles from POM.
      • getRoleName

        protected abstract java.lang.String getRoleName()
        Returns the rolename.
        Returns:
        rolename.
      • getRoles

        protected abstract java.util.List<T> getRoles​(org.apache.maven.project.MavenProject mavenProject)
        Returns the roles from the POM.
        Parameters:
        mavenProject -
        Returns:
        the list of Contributors or Developers.
      • getRolesFromString

        java.util.Set<java.lang.String> getRolesFromString​(java.lang.String csRoles)
        Returns the set of required roles from the property.
        Parameters:
        csRoles - comma-separated roles to be split
        Returns:
      • splitCsvToSet

        static java.util.Set<java.lang.String> splitCsvToSet​(java.lang.String csv)
      • getMavenProject

        org.apache.maven.project.MavenProject getMavenProject​(org.apache.maven.enforcer.rule.api.EnforcerRuleHelper helper)
                                                       throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Extracted for easier testability.
        Parameters:
        helper -
        Returns:
        the MavenProject enforcer is running on.
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException
      • setRequiredRoles

        void setRequiredRoles​(java.lang.String requiredRoles)
        Parameters:
        requiredRoles - the requiredRoles to set.
      • setValidRoles

        void setValidRoles​(java.lang.String validRoles)
      • getCacheId

        public java.lang.String getCacheId()
      • isCacheable

        public boolean isCacheable()
      • isResultValid

        public boolean isResultValid​(org.apache.maven.enforcer.rule.api.EnforcerRule cachedRule)