public class SpdxDocumentContainer extends Object implements IModelContainer, SpdxRdfConstants
| Modifier and Type | Field and Description |
|---|---|
static String |
CURRENT_IMPLEMENTATION_VERSION |
static String |
CURRENT_SPDX_VERSION |
protected int |
nextLicenseRef
Keeps tract of the next license reference number when generating the license ID's for
non-standard licenses
|
static String |
ONE_DOT_ONE_SPDX_VERSION |
static String |
ONE_DOT_TWO_SPDX_VERSION |
static String |
ONE_DOT_ZERO_SPDX_VERSION |
static String |
POINT_EIGHT_SPDX_VERSION |
static String |
POINT_NINE_SPDX_VERSION |
static String |
TWO_POINT_ONE_VERSION |
static String |
TWO_POINT_ZERO_VERSION |
ALGORITHM_SHA1, CLASS_ANNOTATION, CLASS_DOAP_PROJECT, CLASS_EXTERNAL_DOC_REF, CLASS_OR_LATER_OPERATOR, CLASS_POINTER_BYTE_OFFSET_POINTER, CLASS_POINTER_LINE_CHAR_POINTER, CLASS_POINTER_START_END_POINTER, CLASS_RELATIONSHIP, CLASS_SPDX_ANY_LICENSE_INFO, CLASS_SPDX_CHECKSUM, CLASS_SPDX_CONJUNCTIVE_LICENSE_SET, CLASS_SPDX_CREATION_INFO, CLASS_SPDX_DISJUNCTIVE_LICENSE_SET, CLASS_SPDX_DOCUMENT, CLASS_SPDX_ELEMENT, CLASS_SPDX_EXTERNAL_REFERENCE, CLASS_SPDX_EXTRACTED_LICENSING_INFO, CLASS_SPDX_FILE, CLASS_SPDX_ITEM, CLASS_SPDX_LICENSE, CLASS_SPDX_LICENSE_EXCEPTION, CLASS_SPDX_PACKAGE, CLASS_SPDX_REFERENCE_TYPE, CLASS_SPDX_REVIEW, CLASS_SPDX_SIMPLE_LICENSE_INFO, CLASS_SPDX_SNIPPET, CLASS_SPDX_VERIFICATIONCODE, CLASS_WITH_EXCEPTION_OPERATOR, CREATOR_PREFIX_ORGANIZATION, CREATOR_PREFIX_PERSON, CREATOR_PREFIX_TOOL, DOAP_NAMESPACE, EXTERNAL_DOC_REF_PATTERN, EXTERNAL_DOC_REF_PRENUM, EXTERNAL_ELEMENT_REF_PATTERN, FILE_TYPE_ARCHIVE, FILE_TYPE_BINARY, FILE_TYPE_OTHER, FILE_TYPE_SOURCE, LICENSE_ID_PATTERN, LICENSE_ID_PATTERN_NUMERIC, LICENSEXML_ATTRIBUTE_ALT_MATCH, LICENSEXML_ATTRIBUTE_ALT_NAME, LICENSEXML_ATTRIBUTE_DEPRECATED, LICENSEXML_ATTRIBUTE_DEPRECATED_VERSION, LICENSEXML_ATTRIBUTE_FSF_LIBRE, LICENSEXML_ATTRIBUTE_ID, LICENSEXML_ATTRIBUTE_LIST_VERSION_ADDED, LICENSEXML_ATTRIBUTE_NAME, LICENSEXML_ATTRIBUTE_OSI_APPROVED, LICENSEXML_ELEMENT_ALT, LICENSEXML_ELEMENT_BREAK, LICENSEXML_ELEMENT_BULLET, LICENSEXML_ELEMENT_COPYRIGHT_TEXT, LICENSEXML_ELEMENT_CROSS_REF, LICENSEXML_ELEMENT_CROSS_REFS, LICENSEXML_ELEMENT_EXCEPTION, LICENSEXML_ELEMENT_ITEM, LICENSEXML_ELEMENT_LICENSE, LICENSEXML_ELEMENT_LICENSE_COLLECTION, LICENSEXML_ELEMENT_LIST, LICENSEXML_ELEMENT_NOTES, LICENSEXML_ELEMENT_OPTIONAL, LICENSEXML_ELEMENT_PARAGRAPH, LICENSEXML_ELEMENT_STANDARD_LICENSE_HEADER, LICENSEXML_ELEMENT_TEXT, LICENSEXML_ELEMENT_TITLE_TEXT, LICENSEXML_URI, NOASSERTION_VALUE, NON_STD_LICENSE_ID_PRENUM, NONE_VALUE, OWL_NAMESPACE, PROP_ANNOTATION, PROP_ANNOTATION_DATE, PROP_ANNOTATION_TYPE, PROP_ANNOTATOR, PROP_CHECKSUM_ALGORITHM, PROP_CHECKSUM_ALGORITHM_SHA1, PROP_CHECKSUM_VALUE, PROP_COPYRIGHT_TEXT, PROP_CREATION_CREATED, PROP_CREATION_CREATOR, PROP_EXAMPLE, PROP_EXCEPTION_TEMPLATE, PROP_EXCEPTION_TEXT, PROP_EXTERNAL_DOC_CHECKSUM, PROP_EXTERNAL_DOC_ID, PROP_EXTERNAL_REF, PROP_EXTERNAL_SPDX_DOCUMENT, PROP_EXTRACTED_TEXT, PROP_FILE_ARTIFACTOF, PROP_FILE_CHECKSUM, PROP_FILE_CONTRIBUTOR, PROP_FILE_COPYRIGHT, PROP_FILE_FILE_DEPENDENCY, PROP_FILE_LIC_COMMENTS, PROP_FILE_LICENSE, PROP_FILE_NAME, PROP_FILE_NOTICE, PROP_FILE_SEEN_LICENSE, PROP_FILE_TYPE, PROP_FILE_TYPE_ARCHIVE, PROP_FILE_TYPE_BINARY, PROP_FILE_TYPE_OTHER, PROP_FILE_TYPE_SOURCE, PROP_LIC_COMMENTS, PROP_LIC_ID_DEPRECATED, PROP_LICENSE_CONCLUDED, PROP_LICENSE_DECLARED, PROP_LICENSE_EXCEPTION, PROP_LICENSE_EXCEPTION_ID, PROP_LICENSE_ID, PROP_LICENSE_INFO_FROM_SNIPPETS, PROP_LICENSE_LIST_VERSION, PROP_LICENSE_NAME, PROP_LICENSE_SET_MEMEBER, PROP_LICENSE_TEXT, PROP_NAME, PROP_OWL_SAME_AS, PROP_PACKAGE_CHECKSUM, PROP_PACKAGE_CONCLUDED_LICENSE, PROP_PACKAGE_DECLARED_COPYRIGHT, PROP_PACKAGE_DECLARED_LICENSE, PROP_PACKAGE_DECLARED_NAME, PROP_PACKAGE_DESCRIPTION, PROP_PACKAGE_DOWNLOAD_URL, PROP_PACKAGE_FILE, PROP_PACKAGE_FILE_NAME, PROP_PACKAGE_FILES_ANALYZED, PROP_PACKAGE_LICENSE_COMMENT, PROP_PACKAGE_LICENSE_INFO_FROM_FILES, PROP_PACKAGE_ORIGINATOR, PROP_PACKAGE_SHORT_DESC, PROP_PACKAGE_SOURCE_INFO, PROP_PACKAGE_SUPPLIER, PROP_PACKAGE_VERIFICATION_CODE, PROP_PACKAGE_VERSION_INFO, PROP_POINTER_END_POINTER, PROP_POINTER_LINE_NUMBER, PROP_POINTER_OFFSET, PROP_POINTER_REFERENCE, PROP_POINTER_START_POINTER, PROP_PROJECT_HOMEPAGE, PROP_PROJECT_NAME, PROP_REFERENCE_CATEGORY, PROP_REFERENCE_LOCATOR, PROP_REFERENCE_TYPE, PROP_RELATED_SPDX_ELEMENT, PROP_RELATIONSHIP, PROP_RELATIONSHIP_TYPE, PROP_REVIEW_DATE, PROP_REVIEW_REVIEWER, PROP_SNIPPET_FROM_FILE, PROP_SNIPPET_RANGE, PROP_SPDX_CREATION_INFO, PROP_SPDX_DATA_LICENSE, PROP_SPDX_EXTERNAL_DOC_REF, PROP_SPDX_EXTRACTED_LICENSES, PROP_SPDX_FILE_REFERENCE, PROP_SPDX_PACKAGE, PROP_SPDX_REVIEWED_BY, PROP_SPDX_VERSION, PROP_STD_LICENSE_FSF_LIBRE, PROP_STD_LICENSE_HEADER_TEMPLATE, PROP_STD_LICENSE_HEADER_VERSION_1, PROP_STD_LICENSE_NAME, PROP_STD_LICENSE_NAME_VERSION_1, PROP_STD_LICENSE_NOTES_VERSION_1, PROP_STD_LICENSE_NOTICE, PROP_STD_LICENSE_OSI_APPROVED, PROP_STD_LICENSE_OSI_APPROVED_VERSION_1, PROP_STD_LICENSE_TEMPLATE, PROP_STD_LICENSE_TEMPLATE_VERSION_1, PROP_STD_LICENSE_URL_VERSION_1, PROP_VALUE_NOASSERTION, PROP_VALUE_NONE, PROP_VERIFICATIONCODE_IGNORED_FILES, PROP_VERIFICATIONCODE_VALUE, RDF_NAMESPACE, RDF_POINTER_NAMESPACE, RDF_PROP_RESOURCE, RDF_PROP_TYPE, RDFS_NAMESPACE, RDFS_PROP_COMMENT, RDFS_PROP_LABEL, RDFS_PROP_SEE_ALSO, SPDX_DATA_LICENSE_ID, SPDX_DATA_LICENSE_ID_VERSION_1_0, SPDX_DATE_FORMAT, SPDX_DOCUMENT_ID, SPDX_ELEMENT_REF_PATTERN, SPDX_ELEMENT_REF_PRENUM, SPDX_LISTED_REFERENCE_TYPES_PREFIX, SPDX_NAMESPACE, SPDX_VERSION_PATTERN, STANDARD_LICENSE_URL, TERM_LICENSE_NOASSERTION, TERM_LICENSE_NONE, URI_VALUE_NOASSERTION, URI_VALUE_NONE| Constructor and Description |
|---|
SpdxDocumentContainer(org.apache.jena.rdf.model.Model model)
Construct an SpdxDocumentContainer from an existing model which
already contain an SPDX Document
|
SpdxDocumentContainer(String uri)
Creates a new empty SPDX Document with the current SPDX document version.
|
SpdxDocumentContainer(String uri,
String spdxVersion)
Creates a new empty SPDX Document.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
addCheckNodeObject(org.apache.jena.graph.Node node,
IRdfModel nodeObject)
Add a node object to the container.
|
void |
addElement(SpdxElement element)
Add an SPDX element directly to the model without connecting it to any properties
|
void |
addExtractedLicenseInfos(ExtractedLicenseInfo license) |
void |
addNewExtractedLicenseInfo(ExtractedLicenseInfo license)
Adds the license as a new ExtractedLicenseInfo
|
ExtractedLicenseInfo |
addNewExtractedLicenseInfo(String licenseText)
Adds a new non-standard license containing the text provided.
|
void |
addSpdxElementRef(String elementRef)
Notifies the model container that a new element ref is in use.
|
org.apache.jena.rdf.model.Resource |
createResource(org.apache.jena.rdf.model.Resource duplicate,
String uri,
org.apache.jena.rdf.model.Resource type,
IRdfModel nodeObject)
Create a resource in the model
|
String |
documentNamespaceToId(String externalNamespace)
Translate an external document namespace URI to an external document ID
|
String |
externalDocumentIdToNamespace(String docId)
Translate an external document ID to the external document's namespace
|
boolean |
extractedLicenseExists(String id) |
List<SpdxElement> |
findAllElements()
Returns all elements in the contains
|
List<SpdxFile> |
findAllFiles() |
List<SpdxPackage> |
findAllPackages() |
List<SpdxSnippet> |
findAllSnippets() |
SpdxElement |
findElementById(String id)
Find an element within the container by the SPDX Identifier.
|
static String |
formNonStandardLicenseID(int idNum) |
static String |
formSpdxElementRef(int refNum) |
String |
getDocumentNamespace() |
static int |
getElementRefNumber(String elementReference)
Parses out the reference number for an SPDX element reference
|
ExternalDocumentRef[] |
getExternalDocumentRefs() |
ExtractedLicenseInfo |
getExtractedLicense(String id) |
ExtractedLicenseInfo[] |
getExtractedLicenseInfos() |
void |
getExtractedLicenseInfosFromModel()
Get Update the extrated license infos from the model and resynchronize it with
the license cache.
|
SpdxFile[] |
getFileReferences()
get all file references contained within the container
|
int |
getLicenseRefNum(String licenseID)
Parses a license ID and return the integer representing the ID number (e.g.
|
org.apache.jena.rdf.model.Model |
getModel() |
String |
getNextLicenseRef() |
String |
getNextSpdxElementRef() |
SpdxDocument |
getSpdxDocument() |
void |
initializeNextLicenseRef()
Initialize the next license reference and the cache of extracted license infos
|
void |
setExternalDocumentRefs(ExternalDocumentRef[] externalDocumentRefs) |
void |
setExtractedLicenseInfos(ExtractedLicenseInfo[] extractedLicenseInfos) |
boolean |
spdxElementRefExists(String elementRef)
Returns true if the element reference already exists in the model
|
String |
verifySpdxVersion(String spdxVersion) |
public static final String POINT_EIGHT_SPDX_VERSION
public static final String POINT_NINE_SPDX_VERSION
public static final String ONE_DOT_ZERO_SPDX_VERSION
public static final String ONE_DOT_ONE_SPDX_VERSION
public static final String ONE_DOT_TWO_SPDX_VERSION
public static final String TWO_POINT_ZERO_VERSION
public static final String TWO_POINT_ONE_VERSION
public static final String CURRENT_SPDX_VERSION
public static final String CURRENT_IMPLEMENTATION_VERSION
protected int nextLicenseRef
public SpdxDocumentContainer(org.apache.jena.rdf.model.Model model)
throws InvalidSPDXAnalysisException
model - InvalidSPDXAnalysisExceptionpublic SpdxDocumentContainer(String uri) throws InvalidSPDXAnalysisException
uri - URI for the SPDX DocumentInvalidSPDXAnalysisExceptionpublic SpdxDocumentContainer(String uri, String spdxVersion) throws InvalidSPDXAnalysisException
uri - URI for the SPDX DocumentspdxVersion - The version of SPDX analysis to create (impacts the data license for some versions)InvalidSPDXAnalysisExceptionpublic org.apache.jena.rdf.model.Model getModel()
getModel in interface IModelContainerpublic String getDocumentNamespace()
getDocumentNamespace in interface IModelContainerpublic static int getElementRefNumber(String elementReference)
elementReference - Element reference to parsepublic SpdxElement findElementById(String id) throws InvalidSPDXAnalysisException
id - InvalidSPDXAnalysisExceptionpublic SpdxDocument getSpdxDocument()
public String getNextSpdxElementRef()
getNextSpdxElementRef in interface IModelContainerpublic static String formSpdxElementRef(int refNum)
public boolean spdxElementRefExists(String elementRef)
IModelContainerspdxElementRefExists in interface IModelContainerpublic void addSpdxElementRef(String elementRef) throws InvalidSPDXAnalysisException
IModelContaineraddSpdxElementRef in interface IModelContainerInvalidSPDXAnalysisExceptionpublic void initializeNextLicenseRef()
throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionpublic String getNextLicenseRef()
public int getLicenseRefNum(String licenseID) throws NonNumericLicenseIdException
licenseID - NonNumericLicenseIdException - If the non-standard license ID is not of the form LicenseRef-NNpublic static String formNonStandardLicenseID(int idNum)
public ExtractedLicenseInfo addNewExtractedLicenseInfo(String licenseText) throws InvalidSPDXAnalysisException
licenseText - InvalidSPDXAnalysisExceptionpublic void addNewExtractedLicenseInfo(ExtractedLicenseInfo license) throws InvalidSPDXAnalysisException
license - InvalidSPDXAnalysisExceptionpublic boolean extractedLicenseExists(String id) throws InvalidSPDXAnalysisException
id - InvalidSPDXAnalysisExceptionpublic ExtractedLicenseInfo getExtractedLicense(String id) throws InvalidSPDXAnalysisException
id - InvalidSPDXAnalysisExceptionpublic void getExtractedLicenseInfosFromModel()
throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionpublic ExtractedLicenseInfo[] getExtractedLicenseInfos()
public void setExtractedLicenseInfos(ExtractedLicenseInfo[] extractedLicenseInfos) throws InvalidSPDXAnalysisException
extractedLicenseInfos - InvalidSPDXAnalysisExceptionpublic void addExtractedLicenseInfos(ExtractedLicenseInfo license) throws InvalidSPDXAnalysisException
license - InvalidSPDXAnalysisExceptionpublic SpdxFile[] getFileReferences() throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionpublic String documentNamespaceToId(String externalNamespace)
IModelContainerdocumentNamespaceToId in interface IModelContainerpublic String externalDocumentIdToNamespace(String docId)
IModelContainerexternalDocumentIdToNamespace in interface IModelContainerpublic ExternalDocumentRef[] getExternalDocumentRefs()
public void setExternalDocumentRefs(ExternalDocumentRef[] externalDocumentRefs) throws InvalidSPDXAnalysisException
externalDocumentRefs - InvalidSPDXAnalysisExceptionpublic List<SpdxPackage> findAllPackages() throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionpublic List<SpdxFile> findAllFiles() throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionpublic void addElement(SpdxElement element) throws InvalidSPDXAnalysisException
element - InvalidSPDXAnalysisExceptionpublic List<SpdxElement> findAllElements() throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionpublic org.apache.jena.rdf.model.Resource createResource(org.apache.jena.rdf.model.Resource duplicate,
String uri,
org.apache.jena.rdf.model.Resource type,
IRdfModel nodeObject)
IModelContainercreateResource in interface IModelContainerduplicate - A duplicate resource who's node and resource should be returneduri - If not null, the URI for the resource - if null, an anonomous resource will be usedtype - Type of the resourcenodeObject - the object representing this nodepublic boolean addCheckNodeObject(org.apache.jena.graph.Node node,
IRdfModel nodeObject)
IModelContaineraddCheckNodeObject in interface IModelContainerpublic List<SpdxSnippet> findAllSnippets() throws InvalidSPDXAnalysisException
InvalidSPDXAnalysisExceptionCopyright © 2018 Linux Foundation. All Rights Reserved.