class
CycloneDX::Component
- CycloneDX::Component
- Reference
- Object
Overview
Represents a component in the CycloneDX Bill of Materials (BOM). This class is responsible for defining the structure and serialization of a software component, including its type, name, version, and PURL.
Included Modules
- JSON::Serializable
Defined in:
cyclonedx/component.crConstant Summary
-
DEFAULT_TYPE =
"library" -
VALID_SCOPES =
["required", "optional", "excluded"] -
VALID_TYPES =
["application", "framework", "library", "container", "platform", "operating-system", "device", "device-driver", "firmware", "file", "machine-learning-model", "data", "cryptographic-asset"]
Constructors
- .new(name : String, version : String, component_type : String = DEFAULT_TYPE, purl : String | Nil = nil, description : String | Nil = nil, author : String | Nil = nil, licenses : Array(License | LicenseExpression) | Nil = nil, external_references : Array(ExternalReference) | Nil = nil, bom_ref : String | Nil = nil, scope : String | Nil = nil, hashes : Array(Hash) | Nil = nil, properties : Array(Property) | Nil = nil, group : String | Nil = nil, copyright : String | Nil = nil, cpe : String | Nil = nil, supplier : OrganizationalEntity | Nil = nil, manufacturer : OrganizationalEntity | Nil = nil, publisher : String | Nil = nil, mime_type : String | Nil = nil, components : Array(Component) | Nil = nil, tags : Array(String) | Nil = nil, omnibor_id : Array(String) | Nil = nil, swhid : Array(String) | Nil = nil, pedigree : Pedigree | Nil = nil, evidence : Evidence | Nil = nil)
- .new(pull : JSON::PullParser)
Instance Method Summary
- #author : String | Nil
- #bom_ref : String | Nil
- #component_type : String
- #components : Array(Component) | Nil
- #copyright : String | Nil
- #cpe : String | Nil
- #description : String | Nil
- #evidence : Evidence | Nil
- #external_references : Array(ExternalReference) | Nil
- #group : String | Nil
- #hashes : Array(Hash) | Nil
- #licenses : Array(License | LicenseExpression) | Nil
- #manufacturer : OrganizationalEntity | Nil
- #mime_type : String | Nil
- #name : String
- #omnibor_id : Array(String) | Nil
- #pedigree : Pedigree | Nil
- #properties : Array(Property) | Nil
- #publisher : String | Nil
- #purl : String | Nil
- #scope : String | Nil
- #supplier : OrganizationalEntity | Nil
- #swhid : Array(String) | Nil
- #tags : Array(String) | Nil
- #to_xml(xml : XML::Builder) : Nil
- #version : String
Constructor Detail
def self.new(name : String, version : String, component_type : String = DEFAULT_TYPE, purl : String | Nil = nil, description : String | Nil = nil, author : String | Nil = nil, licenses : Array(License | LicenseExpression) | Nil = nil, external_references : Array(ExternalReference) | Nil = nil, bom_ref : String | Nil = nil, scope : String | Nil = nil, hashes : Array(Hash) | Nil = nil, properties : Array(Property) | Nil = nil, group : String | Nil = nil, copyright : String | Nil = nil, cpe : String | Nil = nil, supplier : OrganizationalEntity | Nil = nil, manufacturer : OrganizationalEntity | Nil = nil, publisher : String | Nil = nil, mime_type : String | Nil = nil, components : Array(Component) | Nil = nil, tags : Array(String) | Nil = nil, omnibor_id : Array(String) | Nil = nil, swhid : Array(String) | Nil = nil, pedigree : Pedigree | Nil = nil, evidence : Evidence | Nil = nil)
#