Interface LicenseService

  • All Known Subinterfaces:
    LicenseServiceInternal
    All Known Implementing Classes:
    DefaultLicenseService

    @ParametersAreNonnullByDefault
    public interface LicenseService
    Unifies the interaction with the v1 (still used for store) and v2 license code.

    Licenses installed over this service have to, among other validation criteria, contain a license for the Product.CONFLUENCE.

    Since:
    4.2
    See Also:
    LicenseWebFacade
    • Method Summary

      All Methods Instance Methods Abstract Methods Default Methods Deprecated Methods 
      Modifier and Type Method Description
      @NonNull com.atlassian.extras.api.confluence.ConfluenceLicense install​(String licenseString)
      Validates and installs a given encrypted license.
      boolean isLicensedForDataCenter()
      Returns whether currently installed license is for Data Center.
      boolean isLicensedForDataCenterOrExempt()
      Returns whether the currently installed license is for Data Center, or if the license should be treated as exempt from Data Center checks for testing purposes.
      @NonNull com.atlassian.extras.api.confluence.ConfluenceLicense retrieve()
      Retrieves the currently installed Confluence license.
      @NonNull com.atlassian.fugue.Maybe<com.atlassian.extras.api.ProductLicense> retrieve​(com.atlassian.extras.api.Product product)
      Deprecated.
      since 7.0.1.
      @NonNull com.atlassian.extras.api.AtlassianLicense retrieveAtlassianLicense()
      Retrieves the currently installed Atlassian license.
      default @NonNull Optional<com.atlassian.extras.api.ProductLicense> retrieveForProduct​(com.atlassian.extras.api.Product product)
      Retrieves the license for the requested product.
      @NonNull com.atlassian.extras.api.confluence.ConfluenceLicense validate​(String licenseString)
      Validates the given encrypted license.
      @NonNull com.atlassian.extras.api.ProductLicense validate​(String licenseString, com.atlassian.extras.api.Product product)
      Validates the given encrypted license.
    • Method Detail

      • retrieve

        @NonNull com.atlassian.extras.api.confluence.ConfluenceLicense retrieve()
                                                                         throws LicenseException
        Retrieves the currently installed Confluence license.

        This is a convenience method for retrieveForProduct(Product) with Product.CONFLUENCE.

        Returns:
        the installed Confluence license, never null
        Throws:
        LicenseException - if no license is installed or the license could not be de-crypted
      • retrieveAtlassianLicense

        @NonNull com.atlassian.extras.api.AtlassianLicense retrieveAtlassianLicense()
                                                                             throws LicenseException
        Retrieves the currently installed Atlassian license.
        Returns:
        the installed Atlassian license, never null
        Throws:
        LicenseException - if no license is installed or the license could not be de-crypted
        Since:
        5.6
      • retrieve

        @Deprecated
        @NonNull com.atlassian.fugue.Maybe<com.atlassian.extras.api.ProductLicense> retrieve​(com.atlassian.extras.api.Product product)
                                                                                      throws LicenseException
        Deprecated.
        Retrieves the license for the requested product.
        Parameters:
        product - the product for which the license is requested
        Returns:
        the license for the requested product if it is installed
        Throws:
        LicenseException - if no license is installed or the license could not be de-crypted
      • retrieveForProduct

        default @NonNull Optional<com.atlassian.extras.api.ProductLicense> retrieveForProduct​(com.atlassian.extras.api.Product product)
                                                                                       throws LicenseException
        Retrieves the license for the requested product.
        Parameters:
        product - the product for which the license is requested
        Returns:
        the license for the requested product if it is installed
        Throws:
        LicenseException - if no license is installed or the license could not be de-crypted
        Since:
        7.0.1
      • install

        @NonNull com.atlassian.extras.api.confluence.ConfluenceLicense install​(String licenseString)
                                                                        throws LicenseException
        Validates and installs a given encrypted license.
        Parameters:
        licenseString - the encrypted license
        Returns:
        the de-crypted, de-serialised license
        Throws:
        LicenseException - if the license could not be de-crypted or is invalid
      • isLicensedForDataCenter

        boolean isLicensedForDataCenter()
                                 throws LicenseException
        Returns whether currently installed license is for Data Center. This is the same as calling ProductLicense.isClusteringEnabled() with retrieve().
        Returns:
        whether the license is for Data Center.
        Throws:
        LicenseException - if no license is installed or the license could not be de-crypted
        Since:
        5.6
      • isLicensedForDataCenterOrExempt

        boolean isLicensedForDataCenterOrExempt()
                                         throws LicenseException
        Returns whether the currently installed license is for Data Center, or if the license should be treated as exempt from Data Center checks for testing purposes.
        Returns:
        Whether the license is for Data Center or should be exempt from DC license checks.
        Throws:
        LicenseException - if no license is installed or the license could not be de-crypted.
        Since:
        6.10.0