Class LicenseResolver


  • public final class LicenseResolver
    extends java.lang.Object
    • Constructor Detail

      • LicenseResolver

        private LicenseResolver()
        Private constructor.
    • Method Detail

      • resolve

        public static LicenseChoice resolve​(java.lang.String licenseString)
        Attempts to resolve the specified license string via SPDX license identifier and expression parsing first. If SPDX resolution is not successful, the method will attempt fuzzy matching.
        Parameters:
        licenseString - the license string to resolve
        Returns:
        a LicenseChoice object if resolution was successful, or null if unresolved
      • resolve

        public static LicenseChoice resolve​(java.lang.String licenseString,
                                            boolean includeLicenseText)
        Attempts to resolve the specified license string via SPDX license identifier and expression parsing first. If SPDX resolution is not successful, the method will attempt fuzzy matching.
        Parameters:
        licenseString - the license string to resolve
        includeLicenseText - specifies is the resolved license will include the entire text of the license
        Returns:
        a LicenseChoice object if resolution was successful, or null if unresolved
      • resolve

        static LicenseChoice resolve​(java.lang.String licenseString,
                                     boolean includeLicenseText,
                                     com.fasterxml.jackson.databind.ObjectMapper mapper)
      • resolve

        public static LicenseChoice resolve​(java.lang.String licenseString,
                                            LicenseResolver.LicenseTextSettings licenseTextSettings)
        Attempts to resolve the specified license string via SPDX license identifier and expression parsing first. If SPDX resolution is not successful, the method will attempt fuzzy matching.
        Parameters:
        licenseString - the license string to resolve
        licenseTextSettings - specifies settings regarding the entire text of the resolved license
        Returns:
        a LicenseChoice object if resolution was successful, or null if unresolved
      • resolveLicenseString

        private static LicenseChoice resolveLicenseString​(java.lang.String licenseString,
                                                          LicenseResolver.LicenseTextSettings licenseTextSettings,
                                                          com.fasterxml.jackson.databind.ObjectMapper mapper)
                                                   throws java.io.IOException
        Given an SPDX license ID or expression, this method will resolve the license(s) and return a LicenseChoice object.
        Parameters:
        licenseString - the license string to resolve
        licenseTextSettings - specifies settings regarding the entire text of the resolved license
        mapper - is to provide a Jackson ObjectMapper
        Returns:
        a LicenseChoice object if resolved, or null
        Throws:
        java.io.IOException - an exception while parsing the license string
      • resolveFuzzyMatching

        private static LicenseChoice resolveFuzzyMatching​(java.lang.String licenseString,
                                                          LicenseResolver.LicenseTextSettings licenseTextSettings,
                                                          com.fasterxml.jackson.databind.ObjectMapper mapper)
                                                   throws java.io.IOException
        Attempts to perform high-confidence license resolution with unstructured text as input.
        Parameters:
        licenseString - the license string (not the actual license text)
        licenseTextSettings - specifies settings regarding the entire text of the resolved license
        mapper - is to provide a Jackson ObjectMapper
        Returns:
        a LicenseChoice object if resolved, otherwise null
        Throws:
        java.io.IOException
      • urlNormalize

        private static java.lang.String urlNormalize​(java.lang.String input)
      • createLicenseChoice

        private static LicenseChoice createLicenseChoice​(java.lang.String licenseId,
                                                         java.lang.String primaryLicenseUrl,
                                                         boolean isDeprecatedLicenseId,
                                                         LicenseResolver.LicenseTextSettings licenseTextSettings)
                                                  throws java.io.IOException
        Throws:
        java.io.IOException