All Downloads are FREE. Search and download functionalities are using the official Maven repository.

se.bjurr.violations.lib.model.generated.sarif.Artifact Maven / Gradle / Ivy


package se.bjurr.violations.lib.model.generated.sarif;

import java.util.Date;
import java.util.LinkedHashSet;
import java.util.Set;


/**
 * A single artifact. In some cases, this artifact might be nested within another artifact.
 * 
 */
public class Artifact {

    /**
     * Encapsulates a message intended to be read by the end user.
     * 
     */
    private Message description;
    /**
     * Specifies the location of an artifact.
     * 
     */
    private ArtifactLocation location;
    /**
     * Identifies the index of the immediate parent of the artifact, if this artifact is nested.
     * 
     */
    private Integer parentIndex = -1;
    /**
     * The offset in bytes of the artifact within its containing artifact.
     * 
     */
    private Integer offset;
    /**
     * The length of the artifact in bytes.
     * 
     */
    private Integer length = -1;
    /**
     * The role or roles played by the artifact in the analysis.
     * 
     */
    private Set roles = new LinkedHashSet();
    /**
     * The MIME type (RFC 2045) of the artifact.
     * 
     */
    private String mimeType;
    /**
     * Represents the contents of an artifact.
     * 
     */
    private ArtifactContent contents;
    /**
     * Specifies the encoding for an artifact object that refers to a text file.
     * 
     */
    private String encoding;
    /**
     * Specifies the source language for any artifact object that refers to a text file that contains source code.
     * 
     */
    private String sourceLanguage;
    /**
     * A dictionary, each of whose keys is the name of a hash function and each of whose values is the hashed value of the artifact produced by the specified hash function.
     * 
     */
    private Hashes hashes;
    /**
     * The Coordinated Universal Time (UTC) date and time at which the artifact was most recently modified. See "Date/time properties" in the SARIF spec for the required format.
     * 
     */
    private Date lastModifiedTimeUtc;
    /**
     * Key/value pairs that provide additional information about the object.
     * 
     */
    private PropertyBag properties;

    /**
     * Encapsulates a message intended to be read by the end user.
     * 
     */
    public Message getDescription() {
        return description;
    }

    /**
     * Encapsulates a message intended to be read by the end user.
     * 
     */
    public void setDescription(Message description) {
        this.description = description;
    }

    public Artifact withDescription(Message description) {
        this.description = description;
        return this;
    }

    /**
     * Specifies the location of an artifact.
     * 
     */
    public ArtifactLocation getLocation() {
        return location;
    }

    /**
     * Specifies the location of an artifact.
     * 
     */
    public void setLocation(ArtifactLocation location) {
        this.location = location;
    }

    public Artifact withLocation(ArtifactLocation location) {
        this.location = location;
        return this;
    }

    /**
     * Identifies the index of the immediate parent of the artifact, if this artifact is nested.
     * 
     */
    public Integer getParentIndex() {
        return parentIndex;
    }

    /**
     * Identifies the index of the immediate parent of the artifact, if this artifact is nested.
     * 
     */
    public void setParentIndex(Integer parentIndex) {
        this.parentIndex = parentIndex;
    }

    public Artifact withParentIndex(Integer parentIndex) {
        this.parentIndex = parentIndex;
        return this;
    }

    /**
     * The offset in bytes of the artifact within its containing artifact.
     * 
     */
    public Integer getOffset() {
        return offset;
    }

    /**
     * The offset in bytes of the artifact within its containing artifact.
     * 
     */
    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Artifact withOffset(Integer offset) {
        this.offset = offset;
        return this;
    }

    /**
     * The length of the artifact in bytes.
     * 
     */
    public Integer getLength() {
        return length;
    }

    /**
     * The length of the artifact in bytes.
     * 
     */
    public void setLength(Integer length) {
        this.length = length;
    }

    public Artifact withLength(Integer length) {
        this.length = length;
        return this;
    }

    /**
     * The role or roles played by the artifact in the analysis.
     * 
     */
    public Set getRoles() {
        return roles;
    }

    /**
     * The role or roles played by the artifact in the analysis.
     * 
     */
    public void setRoles(Set roles) {
        this.roles = roles;
    }

    public Artifact withRoles(Set roles) {
        this.roles = roles;
        return this;
    }

    /**
     * The MIME type (RFC 2045) of the artifact.
     * 
     */
    public String getMimeType() {
        return mimeType;
    }

    /**
     * The MIME type (RFC 2045) of the artifact.
     * 
     */
    public void setMimeType(String mimeType) {
        this.mimeType = mimeType;
    }

    public Artifact withMimeType(String mimeType) {
        this.mimeType = mimeType;
        return this;
    }

    /**
     * Represents the contents of an artifact.
     * 
     */
    public ArtifactContent getContents() {
        return contents;
    }

    /**
     * Represents the contents of an artifact.
     * 
     */
    public void setContents(ArtifactContent contents) {
        this.contents = contents;
    }

    public Artifact withContents(ArtifactContent contents) {
        this.contents = contents;
        return this;
    }

    /**
     * Specifies the encoding for an artifact object that refers to a text file.
     * 
     */
    public String getEncoding() {
        return encoding;
    }

    /**
     * Specifies the encoding for an artifact object that refers to a text file.
     * 
     */
    public void setEncoding(String encoding) {
        this.encoding = encoding;
    }

    public Artifact withEncoding(String encoding) {
        this.encoding = encoding;
        return this;
    }

    /**
     * Specifies the source language for any artifact object that refers to a text file that contains source code.
     * 
     */
    public String getSourceLanguage() {
        return sourceLanguage;
    }

    /**
     * Specifies the source language for any artifact object that refers to a text file that contains source code.
     * 
     */
    public void setSourceLanguage(String sourceLanguage) {
        this.sourceLanguage = sourceLanguage;
    }

    public Artifact withSourceLanguage(String sourceLanguage) {
        this.sourceLanguage = sourceLanguage;
        return this;
    }

    /**
     * A dictionary, each of whose keys is the name of a hash function and each of whose values is the hashed value of the artifact produced by the specified hash function.
     * 
     */
    public Hashes getHashes() {
        return hashes;
    }

    /**
     * A dictionary, each of whose keys is the name of a hash function and each of whose values is the hashed value of the artifact produced by the specified hash function.
     * 
     */
    public void setHashes(Hashes hashes) {
        this.hashes = hashes;
    }

    public Artifact withHashes(Hashes hashes) {
        this.hashes = hashes;
        return this;
    }

    /**
     * The Coordinated Universal Time (UTC) date and time at which the artifact was most recently modified. See "Date/time properties" in the SARIF spec for the required format.
     * 
     */
    public Date getLastModifiedTimeUtc() {
        return lastModifiedTimeUtc;
    }

    /**
     * The Coordinated Universal Time (UTC) date and time at which the artifact was most recently modified. See "Date/time properties" in the SARIF spec for the required format.
     * 
     */
    public void setLastModifiedTimeUtc(Date lastModifiedTimeUtc) {
        this.lastModifiedTimeUtc = lastModifiedTimeUtc;
    }

    public Artifact withLastModifiedTimeUtc(Date lastModifiedTimeUtc) {
        this.lastModifiedTimeUtc = lastModifiedTimeUtc;
        return this;
    }

    /**
     * Key/value pairs that provide additional information about the object.
     * 
     */
    public PropertyBag getProperties() {
        return properties;
    }

    /**
     * Key/value pairs that provide additional information about the object.
     * 
     */
    public void setProperties(PropertyBag properties) {
        this.properties = properties;
    }

    public Artifact withProperties(PropertyBag properties) {
        this.properties = properties;
        return this;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(Artifact.class.getName()).append('@').append(Integer.toHexString(System.identityHashCode(this))).append('[');
        sb.append("description");
        sb.append('=');
        sb.append(((this.description == null)?"":this.description));
        sb.append(',');
        sb.append("location");
        sb.append('=');
        sb.append(((this.location == null)?"":this.location));
        sb.append(',');
        sb.append("parentIndex");
        sb.append('=');
        sb.append(((this.parentIndex == null)?"":this.parentIndex));
        sb.append(',');
        sb.append("offset");
        sb.append('=');
        sb.append(((this.offset == null)?"":this.offset));
        sb.append(',');
        sb.append("length");
        sb.append('=');
        sb.append(((this.length == null)?"":this.length));
        sb.append(',');
        sb.append("roles");
        sb.append('=');
        sb.append(((this.roles == null)?"":this.roles));
        sb.append(',');
        sb.append("mimeType");
        sb.append('=');
        sb.append(((this.mimeType == null)?"":this.mimeType));
        sb.append(',');
        sb.append("contents");
        sb.append('=');
        sb.append(((this.contents == null)?"":this.contents));
        sb.append(',');
        sb.append("encoding");
        sb.append('=');
        sb.append(((this.encoding == null)?"":this.encoding));
        sb.append(',');
        sb.append("sourceLanguage");
        sb.append('=');
        sb.append(((this.sourceLanguage == null)?"":this.sourceLanguage));
        sb.append(',');
        sb.append("hashes");
        sb.append('=');
        sb.append(((this.hashes == null)?"":this.hashes));
        sb.append(',');
        sb.append("lastModifiedTimeUtc");
        sb.append('=');
        sb.append(((this.lastModifiedTimeUtc == null)?"":this.lastModifiedTimeUtc));
        sb.append(',');
        sb.append("properties");
        sb.append('=');
        sb.append(((this.properties == null)?"":this.properties));
        sb.append(',');
        if (sb.charAt((sb.length()- 1)) == ',') {
            sb.setCharAt((sb.length()- 1), ']');
        } else {
            sb.append(']');
        }
        return sb.toString();
    }

    @Override
    public int hashCode() {
        int result = 1;
        result = ((result* 31)+((this.parentIndex == null)? 0 :this.parentIndex.hashCode()));
        result = ((result* 31)+((this.offset == null)? 0 :this.offset.hashCode()));
        result = ((result* 31)+((this.roles == null)? 0 :this.roles.hashCode()));
        result = ((result* 31)+((this.lastModifiedTimeUtc == null)? 0 :this.lastModifiedTimeUtc.hashCode()));
        result = ((result* 31)+((this.length == null)? 0 :this.length.hashCode()));
        result = ((result* 31)+((this.description == null)? 0 :this.description.hashCode()));
        result = ((result* 31)+((this.mimeType == null)? 0 :this.mimeType.hashCode()));
        result = ((result* 31)+((this.encoding == null)? 0 :this.encoding.hashCode()));
        result = ((result* 31)+((this.contents == null)? 0 :this.contents.hashCode()));
        result = ((result* 31)+((this.hashes == null)? 0 :this.hashes.hashCode()));
        result = ((result* 31)+((this.location == null)? 0 :this.location.hashCode()));
        result = ((result* 31)+((this.sourceLanguage == null)? 0 :this.sourceLanguage.hashCode()));
        result = ((result* 31)+((this.properties == null)? 0 :this.properties.hashCode()));
        return result;
    }

    @Override
    public boolean equals(Object other) {
        if (other == this) {
            return true;
        }
        if ((other instanceof Artifact) == false) {
            return false;
        }
        Artifact rhs = ((Artifact) other);
        return ((((((((((((((this.parentIndex == rhs.parentIndex)||((this.parentIndex!= null)&&this.parentIndex.equals(rhs.parentIndex)))&&((this.offset == rhs.offset)||((this.offset!= null)&&this.offset.equals(rhs.offset))))&&((this.roles == rhs.roles)||((this.roles!= null)&&this.roles.equals(rhs.roles))))&&((this.lastModifiedTimeUtc == rhs.lastModifiedTimeUtc)||((this.lastModifiedTimeUtc!= null)&&this.lastModifiedTimeUtc.equals(rhs.lastModifiedTimeUtc))))&&((this.length == rhs.length)||((this.length!= null)&&this.length.equals(rhs.length))))&&((this.description == rhs.description)||((this.description!= null)&&this.description.equals(rhs.description))))&&((this.mimeType == rhs.mimeType)||((this.mimeType!= null)&&this.mimeType.equals(rhs.mimeType))))&&((this.encoding == rhs.encoding)||((this.encoding!= null)&&this.encoding.equals(rhs.encoding))))&&((this.contents == rhs.contents)||((this.contents!= null)&&this.contents.equals(rhs.contents))))&&((this.hashes == rhs.hashes)||((this.hashes!= null)&&this.hashes.equals(rhs.hashes))))&&((this.location == rhs.location)||((this.location!= null)&&this.location.equals(rhs.location))))&&((this.sourceLanguage == rhs.sourceLanguage)||((this.sourceLanguage!= null)&&this.sourceLanguage.equals(rhs.sourceLanguage))))&&((this.properties == rhs.properties)||((this.properties!= null)&&this.properties.equals(rhs.properties))));
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy