Class LicenseResolver
java.lang.Object
org.cyclonedx.util.LicenseResolver
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classstatic enumLists possible choices for license text encodingprivate static classstatic classData class aggregating settings for license text outputprivate static class -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static LicenseChoicecreateLicenseChoice(String licenseId, String primaryLicenseUrl, boolean isDeprecatedLicenseId, LicenseResolver.LicenseTextSettings licenseTextSettings) static LicenseChoiceAttempts to resolve the specified license string via SPDX license identifier and expression parsing first.static LicenseChoiceAttempts to resolve the specified license string via SPDX license identifier and expression parsing first.(package private) static LicenseChoiceresolve(String licenseString, boolean includeLicenseText, com.fasterxml.jackson.databind.ObjectMapper mapper) static LicenseChoiceresolve(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings) Attempts to resolve the specified license string via SPDX license identifier and expression parsing first.(package private) static LicenseChoiceresolve(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings, com.fasterxml.jackson.databind.ObjectMapper mapper) private static LicenseChoiceresolveFuzzyMatching(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings, com.fasterxml.jackson.databind.ObjectMapper mapper) Attempts to perform high-confidence license resolution with unstructured text as input.private static LicenseChoiceresolveLicenseString(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings, com.fasterxml.jackson.databind.ObjectMapper mapper) Given an SPDX license ID or expression, this method will resolve the license(s) and return a LicenseChoice object.private static StringurlNormalize(String input)
-
Field Details
-
licenses
-
-
Constructor Details
-
LicenseResolver
private LicenseResolver()Private constructor.
-
-
Method Details
-
resolve
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
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 resolveincludeLicenseText- 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(String licenseString, boolean includeLicenseText, com.fasterxml.jackson.databind.ObjectMapper mapper) -
resolve
public static LicenseChoice resolve(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 resolvelicenseTextSettings- specifies settings regarding the entire text of the resolved license- Returns:
- a LicenseChoice object if resolution was successful, or null if unresolved
-
resolve
static LicenseChoice resolve(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings, com.fasterxml.jackson.databind.ObjectMapper mapper) -
resolveLicenseString
private static LicenseChoice resolveLicenseString(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings, com.fasterxml.jackson.databind.ObjectMapper mapper) throws 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 resolvelicenseTextSettings- specifies settings regarding the entire text of the resolved licensemapper- is to provide a Jackson ObjectMapper- Returns:
- a LicenseChoice object if resolved, or null
- Throws:
IOException- an exception while parsing the license string
-
resolveFuzzyMatching
private static LicenseChoice resolveFuzzyMatching(String licenseString, LicenseResolver.LicenseTextSettings licenseTextSettings, com.fasterxml.jackson.databind.ObjectMapper mapper) throws 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 licensemapper- is to provide a Jackson ObjectMapper- Returns:
- a LicenseChoice object if resolved, otherwise null
- Throws:
IOException
-
urlNormalize
-
createLicenseChoice
private static LicenseChoice createLicenseChoice(String licenseId, String primaryLicenseUrl, boolean isDeprecatedLicenseId, LicenseResolver.LicenseTextSettings licenseTextSettings) throws IOException - Throws:
IOException
-