SarifDriver

@JsonClass(generateAdapter = true)
data class SarifDriver(@Json(name = "associatedComponent") val associatedComponent: ToolComponentReference? = null, @Json(name = "contents") val contents: List<Content>? = null, @Json(name = "dottedQuadFileVersion") val dottedQuadFileVersion: String? = null, @Json(name = "downloadUri") val downloadURI: String? = null, @Json(name = "fullDescription") val fullDescription: MultiformatMessageString? = null, @Json(name = "fullName") val fullName: String? = null, @Json(name = "globalMessageStrings") val globalMessageStrings: Map<String, MultiformatMessageString>? = null, @Json(name = "guid") val guid: String? = null, @Json(name = "informationUri") val informationURI: String? = null, @Json(name = "isComprehensive") val isComprehensive: Boolean? = null, @Json(name = "language") val language: String? = null, @Json(name = "localizedDataSemanticVersion") val localizedDataSemanticVersion: String? = null, @Json(name = "locations") val locations: List<ArtifactLocation>? = null, @Json(name = "minimumRequiredLocalizedDataSemanticVersion") val minimumRequiredLocalizedDataSemanticVersion: String? = null, @Json(name = "name") val name: String, @Json(name = "notifications") val notifications: List<SarifRule>? = null, @Json(name = "organization") val organization: String? = null, @Json(name = "product") val product: String? = null, @Json(name = "productSuite") val productSuite: String? = null, @Json(name = "properties") val properties: PropertyBag? = null, @Json(name = "releaseDateUtc") val releaseDateUTC: String? = null, @Json(name = "semanticVersion") val semanticVersion: String? = null, @Json(name = "shortDescription") val shortDescription: MultiformatMessageString? = null, @Json(name = "supportedTaxonomies") val supportedTaxonomies: List<ToolComponentReference>? = null, @Json(name = "taxa") val taxa: List<SarifRule>? = null, @Json(name = "translationMetadata") val translationMetadata: TranslationMetadata? = null, @Json(name = "version") val version: String? = null, @Json(name = "rules") val rules: List<SarifRule>? = null)(source)

The analysis tool that was run.

A component, such as a plug-in or the driver, of the analysis tool that was run.

The analysis tool object that will be merged with a separate run.

Since

0.12.0

Constructors

Link copied to clipboard
constructor(@Json(name = "associatedComponent") associatedComponent: ToolComponentReference? = null, @Json(name = "contents") contents: List<Content>? = null, @Json(name = "dottedQuadFileVersion") dottedQuadFileVersion: String? = null, @Json(name = "downloadUri") downloadURI: String? = null, @Json(name = "fullDescription") fullDescription: MultiformatMessageString? = null, @Json(name = "fullName") fullName: String? = null, @Json(name = "globalMessageStrings") globalMessageStrings: Map<String, MultiformatMessageString>? = null, @Json(name = "guid") guid: String? = null, @Json(name = "informationUri") informationURI: String? = null, @Json(name = "isComprehensive") isComprehensive: Boolean? = null, @Json(name = "language") language: String? = null, @Json(name = "localizedDataSemanticVersion") localizedDataSemanticVersion: String? = null, @Json(name = "locations") locations: List<ArtifactLocation>? = null, @Json(name = "minimumRequiredLocalizedDataSemanticVersion") minimumRequiredLocalizedDataSemanticVersion: String? = null, @Json(name = "name") name: String, @Json(name = "notifications") notifications: List<SarifRule>? = null, @Json(name = "organization") organization: String? = null, @Json(name = "product") product: String? = null, @Json(name = "productSuite") productSuite: String? = null, @Json(name = "properties") properties: PropertyBag? = null, @Json(name = "releaseDateUtc") releaseDateUTC: String? = null, @Json(name = "semanticVersion") semanticVersion: String? = null, @Json(name = "shortDescription") shortDescription: MultiformatMessageString? = null, @Json(name = "supportedTaxonomies") supportedTaxonomies: List<ToolComponentReference>? = null, @Json(name = "taxa") taxa: List<SarifRule>? = null, @Json(name = "translationMetadata") translationMetadata: TranslationMetadata? = null, @Json(name = "version") version: String? = null, @Json(name = "rules") rules: List<SarifRule>? = null)

Properties

Link copied to clipboard

The component which is strongly associated with this component. For a translation, this refers to the component which has been translated. For an extension, this is the driver that provides the extension's plugin model.

Link copied to clipboard
val contents: List<Content>? = null

The kinds of data contained in this object.

Link copied to clipboard

The binary version of the tool component's primary executable file expressed as four non-negative integers separated by a period (for operating systems that express file versions in this way).

Link copied to clipboard
val downloadURI: String? = null

The absolute URI from which the tool component can be downloaded.

Link copied to clipboard

A comprehensive description of the tool component.

Link copied to clipboard
val fullName: String? = null

The name of the tool component along with its version and any other useful identifying information, such as its locale.

Link copied to clipboard

A dictionary, each of whose keys is a resource identifier and each of whose values is a multiformatMessageString object, which holds message strings in plain text and (optionally) Markdown format. The strings can include placeholders, which can be used to construct a message in combination with an arbitrary number of additional string arguments.

Link copied to clipboard
val guid: String? = null

A unique identifer for the tool component in the form of a GUID.

Link copied to clipboard
val informationURI: String? = null

The absolute URI at which information about this version of the tool component can be found.

Link copied to clipboard

Specifies whether this object contains a complete definition of the localizable and/or non-localizable data for this component, as opposed to including only data that is relevant to the results persisted to this log file.

Link copied to clipboard
val language: String? = null

The language of the messages emitted into the log file during this run (expressed as an ISO 639-1 two-letter lowercase language code) and an optional region (expressed as an ISO 3166-1 two-letter uppercase subculture code associated with a country or region). The casing is recommended but not required (in order for this data to conform to RFC5646).

Link copied to clipboard

The semantic version of the localized strings defined in this component; maintained by components that provide translations.

Link copied to clipboard

An array of the artifactLocation objects associated with the tool component.

The minimum value of localizedDataSemanticVersion required in translations consumed by this component; used by components that consume translations.

Link copied to clipboard

The name of the tool component.

Link copied to clipboard

An array of reportingDescriptor objects relevant to the notifications related to the configuration and runtime execution of the tool component.

Link copied to clipboard
val organization: String? = null

The organization or company that produced the tool component.

Link copied to clipboard
val product: String? = null

A product suite to which the tool component belongs.

Link copied to clipboard
val productSuite: String? = null

A localizable string containing the name of the suite of products to which the tool component belongs.

Link copied to clipboard
val properties: PropertyBag? = null

Key/value pairs that provide additional information about the tool component.

Link copied to clipboard
val releaseDateUTC: String? = null

A string specifying the UTC date (and optionally, the time) of the component's release.

Link copied to clipboard
val rules: List<SarifRule>? = null

An array of reportingDescriptor objects relevant to the analysis performed by the tool component.

Link copied to clipboard
val semanticVersion: String? = null

The tool component version in the format specified by Semantic Versioning 2.0.

Link copied to clipboard

A brief description of the tool component.

Link copied to clipboard

An array of toolComponentReference objects to declare the taxonomies supported by the tool component.

Link copied to clipboard
val taxa: List<SarifRule>? = null

An array of reportingDescriptor objects relevant to the definitions of both standalone and tool-defined taxonomies.

Link copied to clipboard

Translation metadata, required for a translation, not populated by other component types.

Link copied to clipboard
val version: String? = null

The tool component version, in whatever format the component natively provides.