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

com.blackducksoftware.integration.hub.model.VulnerabilityView Maven / Gradle / Ivy

There is a newer version: 3.4.2.1
Show newest version
/**
 * hub-model-common
 *
 * Copyright (C) 2017 Black Duck Software, Inc.
 * http://www.blackducksoftware.com/
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
/*
 * 
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 *
 * 
 * 
 *
 * NOTE: This class is auto generated by the swagger code generator program.
 * https://github.com/swagger-api/swagger-codegen.git
 * Do not edit the class manually.
 */


package com.blackducksoftware.integration.hub.model;

import java.util.Objects;

import com.blackducksoftware.integration.hub.model.HubView;
import com.blackducksoftware.integration.hub.model.MetadataView;
import com.google.gson.annotations.SerializedName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import org.joda.time.DateTime;

/**
 * VulnerabilityView
 */
@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2017-02-02T14:22:10.992-05:00")
public class VulnerabilityView extends HubView {
  /**
   * How difficult it is to exploit the vulnerabilty
   */
  public enum AccessComplexityEnum {
    @SerializedName("LOW")
    LOW("LOW"),
    
    @SerializedName("MEDIUM")
    MEDIUM("MEDIUM"),
    
    @SerializedName("HIGH")
    HIGH("HIGH");

    private String value;

    AccessComplexityEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("accessComplexity")
  private AccessComplexityEnum accessComplexity = null;

  /**
   * How the vulnerability may be exploited
   */
  public enum AccessVectorEnum {
    @SerializedName("LOCAL")
    LOCAL("LOCAL"),
    
    @SerializedName("ADJACENT_NETWORK")
    ADJACENT_NETWORK("ADJACENT_NETWORK"),
    
    @SerializedName("NETWORK")
    NETWORK("NETWORK");

    private String value;

    AccessVectorEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("accessVector")
  private AccessVectorEnum accessVector = null;

  /**
   * How many times authentication is required from the attacker to exploit the vulnerability
   */
  public enum AuthenticationEnum {
    @SerializedName("MULTIPLE")
    MULTIPLE("MULTIPLE"),
    
    @SerializedName("SINGLE")
    SINGLE("SINGLE"),
    
    @SerializedName("NONE")
    NONE("NONE");

    private String value;

    AuthenticationEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("authentication")
  private AuthenticationEnum authentication = null;

  /**
   * Impact on the availability of the system if the vulnerability is exploited
   */
  public enum AvailabilityImpactEnum {
    @SerializedName("COMPLETE")
    COMPLETE("COMPLETE"),
    
    @SerializedName("PARTIAL")
    PARTIAL("PARTIAL"),
    
    @SerializedName("NONE")
    NONE("NONE");

    private String value;

    AvailabilityImpactEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("availabilityImpact")
  private AvailabilityImpactEnum availabilityImpact = null;

  @SerializedName("baseScore")
  private Double baseScore = null;

  /**
   * Impact on the confidentiality of data on the system if the vulnerability is exploited
   */
  public enum ConfidentialityImpactEnum {
    @SerializedName("COMPLETE")
    COMPLETE("COMPLETE"),
    
    @SerializedName("PARTIAL")
    PARTIAL("PARTIAL"),
    
    @SerializedName("NONE")
    NONE("NONE");

    private String value;

    ConfidentialityImpactEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("confidentialityImpact")
  private ConfidentialityImpactEnum confidentialityImpact = null;

  @SerializedName("cweId")
  private String cweId = null;

  @SerializedName("description")
  private String description = null;

  @SerializedName("exploitabilitySubscore")
  private Double exploitabilitySubscore = null;

  @SerializedName("impactSubscore")
  private Double impactSubscore = null;

  /**
   * Impact on the integrity of data on the system if the vulnerability is exploited
   */
  public enum IntegrityImpactEnum {
    @SerializedName("COMPLETE")
    COMPLETE("COMPLETE"),
    
    @SerializedName("PARTIAL")
    PARTIAL("PARTIAL"),
    
    @SerializedName("NONE")
    NONE("NONE");

    private String value;

    IntegrityImpactEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("integrityImpact")
  private IntegrityImpactEnum integrityImpact = null;

  /**
   * The general level of risk severity presented by the vulnerability
   */
  public enum SeverityEnum {
    @SerializedName("LOW")
    LOW("LOW"),
    
    @SerializedName("MEDIUM")
    MEDIUM("MEDIUM"),
    
    @SerializedName("HIGH")
    HIGH("HIGH"),
    
    @SerializedName("UNKNOWN")
    UNKNOWN("UNKNOWN");

    private String value;

    SeverityEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("severity")
  private SeverityEnum severity = null;

  /**
   * The vulnerability database/reporting authority this vulnerability originates from
   */
  public enum SourceEnum {
    @SerializedName("NVD")
    NVD("NVD"),
    
    @SerializedName("VULNDB")
    VULNDB("VULNDB");

    private String value;

    SourceEnum(String value) {
      this.value = value;
    }

    @Override
    public String toString() {
      return String.valueOf(value);
    }
  }

  @SerializedName("source")
  private SourceEnum source = null;

  @SerializedName("vulnerabilityName")
  private String vulnerabilityName = null;

  @SerializedName("vulnerabilityPublishedDate")
  private DateTime vulnerabilityPublishedDate = null;

  @SerializedName("vulnerabilityUpdatedDate")
  private DateTime vulnerabilityUpdatedDate = null;

  public VulnerabilityView accessComplexity(AccessComplexityEnum accessComplexity) {
    this.accessComplexity = accessComplexity;
    return this;
  }

   /**
   * How difficult it is to exploit the vulnerabilty
   * @return accessComplexity
  **/
  @ApiModelProperty(example = "null", value = "How difficult it is to exploit the vulnerabilty")
  public AccessComplexityEnum getAccessComplexity() {
    return accessComplexity;
  }

  public void setAccessComplexity(AccessComplexityEnum accessComplexity) {
    this.accessComplexity = accessComplexity;
  }

  public VulnerabilityView accessVector(AccessVectorEnum accessVector) {
    this.accessVector = accessVector;
    return this;
  }

   /**
   * How the vulnerability may be exploited
   * @return accessVector
  **/
  @ApiModelProperty(example = "null", value = "How the vulnerability may be exploited")
  public AccessVectorEnum getAccessVector() {
    return accessVector;
  }

  public void setAccessVector(AccessVectorEnum accessVector) {
    this.accessVector = accessVector;
  }

  public VulnerabilityView authentication(AuthenticationEnum authentication) {
    this.authentication = authentication;
    return this;
  }

   /**
   * How many times authentication is required from the attacker to exploit the vulnerability
   * @return authentication
  **/
  @ApiModelProperty(example = "null", value = "How many times authentication is required from the attacker to exploit the vulnerability")
  public AuthenticationEnum getAuthentication() {
    return authentication;
  }

  public void setAuthentication(AuthenticationEnum authentication) {
    this.authentication = authentication;
  }

  public VulnerabilityView availabilityImpact(AvailabilityImpactEnum availabilityImpact) {
    this.availabilityImpact = availabilityImpact;
    return this;
  }

   /**
   * Impact on the availability of the system if the vulnerability is exploited
   * @return availabilityImpact
  **/
  @ApiModelProperty(example = "null", value = "Impact on the availability of the system if the vulnerability is exploited")
  public AvailabilityImpactEnum getAvailabilityImpact() {
    return availabilityImpact;
  }

  public void setAvailabilityImpact(AvailabilityImpactEnum availabilityImpact) {
    this.availabilityImpact = availabilityImpact;
  }

  public VulnerabilityView baseScore(Double baseScore) {
    this.baseScore = baseScore;
    return this;
  }

   /**
   * Score summarizing the overall risk presented by the vulnerability
   * @return baseScore
  **/
  @ApiModelProperty(example = "null", value = "Score summarizing the overall risk presented by the vulnerability")
  public Double getBaseScore() {
    return baseScore;
  }

  public void setBaseScore(Double baseScore) {
    this.baseScore = baseScore;
  }

  public VulnerabilityView confidentialityImpact(ConfidentialityImpactEnum confidentialityImpact) {
    this.confidentialityImpact = confidentialityImpact;
    return this;
  }

   /**
   * Impact on the confidentiality of data on the system if the vulnerability is exploited
   * @return confidentialityImpact
  **/
  @ApiModelProperty(example = "null", value = "Impact on the confidentiality of data on the system if the vulnerability is exploited")
  public ConfidentialityImpactEnum getConfidentialityImpact() {
    return confidentialityImpact;
  }

  public void setConfidentialityImpact(ConfidentialityImpactEnum confidentialityImpact) {
    this.confidentialityImpact = confidentialityImpact;
  }

  public VulnerabilityView cweId(String cweId) {
    this.cweId = cweId;
    return this;
  }

   /**
   * ID of the Common Weaknesses and Exposures (CWE) category the vulnerability belongs to
   * @return cweId
  **/
  @ApiModelProperty(example = "null", value = "ID of the Common Weaknesses and Exposures (CWE) category the vulnerability belongs to")
  public String getCweId() {
    return cweId;
  }

  public void setCweId(String cweId) {
    this.cweId = cweId;
  }

  public VulnerabilityView description(String description) {
    this.description = description;
    return this;
  }

   /**
   * Short summary of the vulnerability's properties
   * @return description
  **/
  @ApiModelProperty(example = "null", value = "Short summary of the vulnerability's properties")
  public String getDescription() {
    return description;
  }

  public void setDescription(String description) {
    this.description = description;
  }

  public VulnerabilityView exploitabilitySubscore(Double exploitabilitySubscore) {
    this.exploitabilitySubscore = exploitabilitySubscore;
    return this;
  }

   /**
   * Sub-score detailing the risk presented by current exploit techniques or exploit availability
   * @return exploitabilitySubscore
  **/
  @ApiModelProperty(example = "null", value = "Sub-score detailing the risk presented by current exploit techniques or exploit availability")
  public Double getExploitabilitySubscore() {
    return exploitabilitySubscore;
  }

  public void setExploitabilitySubscore(Double exploitabilitySubscore) {
    this.exploitabilitySubscore = exploitabilitySubscore;
  }

  public VulnerabilityView impactSubscore(Double impactSubscore) {
    this.impactSubscore = impactSubscore;
    return this;
  }

   /**
   * Sub-score detailing the data exposure that occurs if the vulnerability is successfully exploited
   * @return impactSubscore
  **/
  @ApiModelProperty(example = "null", value = "Sub-score detailing the data exposure that occurs if the vulnerability is successfully exploited")
  public Double getImpactSubscore() {
    return impactSubscore;
  }

  public void setImpactSubscore(Double impactSubscore) {
    this.impactSubscore = impactSubscore;
  }

  public VulnerabilityView integrityImpact(IntegrityImpactEnum integrityImpact) {
    this.integrityImpact = integrityImpact;
    return this;
  }

   /**
   * Impact on the integrity of data on the system if the vulnerability is exploited
   * @return integrityImpact
  **/
  @ApiModelProperty(example = "null", value = "Impact on the integrity of data on the system if the vulnerability is exploited")
  public IntegrityImpactEnum getIntegrityImpact() {
    return integrityImpact;
  }

  public void setIntegrityImpact(IntegrityImpactEnum integrityImpact) {
    this.integrityImpact = integrityImpact;
  }

  public VulnerabilityView severity(SeverityEnum severity) {
    this.severity = severity;
    return this;
  }

   /**
   * The general level of risk severity presented by the vulnerability
   * @return severity
  **/
  @ApiModelProperty(example = "null", value = "The general level of risk severity presented by the vulnerability")
  public SeverityEnum getSeverity() {
    return severity;
  }

  public void setSeverity(SeverityEnum severity) {
    this.severity = severity;
  }

  public VulnerabilityView source(SourceEnum source) {
    this.source = source;
    return this;
  }

   /**
   * The vulnerability database/reporting authority this vulnerability originates from
   * @return source
  **/
  @ApiModelProperty(example = "null", value = "The vulnerability database/reporting authority this vulnerability originates from")
  public SourceEnum getSource() {
    return source;
  }

  public void setSource(SourceEnum source) {
    this.source = source;
  }

  public VulnerabilityView vulnerabilityName(String vulnerabilityName) {
    this.vulnerabilityName = vulnerabilityName;
    return this;
  }

   /**
   * Identifying name of the vulnerability
   * @return vulnerabilityName
  **/
  @ApiModelProperty(example = "null", value = "Identifying name of the vulnerability")
  public String getVulnerabilityName() {
    return vulnerabilityName;
  }

  public void setVulnerabilityName(String vulnerabilityName) {
    this.vulnerabilityName = vulnerabilityName;
  }

  public VulnerabilityView vulnerabilityPublishedDate(DateTime vulnerabilityPublishedDate) {
    this.vulnerabilityPublishedDate = vulnerabilityPublishedDate;
    return this;
  }

   /**
   * The date the vulnerability was created/published
   * @return vulnerabilityPublishedDate
  **/
  @ApiModelProperty(example = "null", value = "The date the vulnerability was created/published")
  public DateTime getVulnerabilityPublishedDate() {
    return vulnerabilityPublishedDate;
  }

  public void setVulnerabilityPublishedDate(DateTime vulnerabilityPublishedDate) {
    this.vulnerabilityPublishedDate = vulnerabilityPublishedDate;
  }

  public VulnerabilityView vulnerabilityUpdatedDate(DateTime vulnerabilityUpdatedDate) {
    this.vulnerabilityUpdatedDate = vulnerabilityUpdatedDate;
    return this;
  }

   /**
   * The date of the last modification to the vulnerability information
   * @return vulnerabilityUpdatedDate
  **/
  @ApiModelProperty(example = "null", value = "The date of the last modification to the vulnerability information")
  public DateTime getVulnerabilityUpdatedDate() {
    return vulnerabilityUpdatedDate;
  }

  public void setVulnerabilityUpdatedDate(DateTime vulnerabilityUpdatedDate) {
    this.vulnerabilityUpdatedDate = vulnerabilityUpdatedDate;
  }


  @Override
  public boolean equals(java.lang.Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    VulnerabilityView vulnerabilityView = (VulnerabilityView) o;
    return Objects.equals(this.accessComplexity, vulnerabilityView.accessComplexity) &&
        Objects.equals(this.accessVector, vulnerabilityView.accessVector) &&
        Objects.equals(this.authentication, vulnerabilityView.authentication) &&
        Objects.equals(this.availabilityImpact, vulnerabilityView.availabilityImpact) &&
        Objects.equals(this.baseScore, vulnerabilityView.baseScore) &&
        Objects.equals(this.confidentialityImpact, vulnerabilityView.confidentialityImpact) &&
        Objects.equals(this.cweId, vulnerabilityView.cweId) &&
        Objects.equals(this.description, vulnerabilityView.description) &&
        Objects.equals(this.exploitabilitySubscore, vulnerabilityView.exploitabilitySubscore) &&
        Objects.equals(this.impactSubscore, vulnerabilityView.impactSubscore) &&
        Objects.equals(this.integrityImpact, vulnerabilityView.integrityImpact) &&
        Objects.equals(this.severity, vulnerabilityView.severity) &&
        Objects.equals(this.source, vulnerabilityView.source) &&
        Objects.equals(this.vulnerabilityName, vulnerabilityView.vulnerabilityName) &&
        Objects.equals(this.vulnerabilityPublishedDate, vulnerabilityView.vulnerabilityPublishedDate) &&
        Objects.equals(this.vulnerabilityUpdatedDate, vulnerabilityView.vulnerabilityUpdatedDate) &&
        super.equals(o);
  }

  @Override
  public int hashCode() {
    return Objects.hash(accessComplexity, accessVector, authentication, availabilityImpact, baseScore, confidentialityImpact, cweId, description, exploitabilitySubscore, impactSubscore, integrityImpact, severity, source, vulnerabilityName, vulnerabilityPublishedDate, vulnerabilityUpdatedDate, super.hashCode());
  }


  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class VulnerabilityView {\n");
    sb.append("    ").append(toIndentedString(super.toString())).append("\n");
    sb.append("    accessComplexity: ").append(toIndentedString(accessComplexity)).append("\n");
    sb.append("    accessVector: ").append(toIndentedString(accessVector)).append("\n");
    sb.append("    authentication: ").append(toIndentedString(authentication)).append("\n");
    sb.append("    availabilityImpact: ").append(toIndentedString(availabilityImpact)).append("\n");
    sb.append("    baseScore: ").append(toIndentedString(baseScore)).append("\n");
    sb.append("    confidentialityImpact: ").append(toIndentedString(confidentialityImpact)).append("\n");
    sb.append("    cweId: ").append(toIndentedString(cweId)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    exploitabilitySubscore: ").append(toIndentedString(exploitabilitySubscore)).append("\n");
    sb.append("    impactSubscore: ").append(toIndentedString(impactSubscore)).append("\n");
    sb.append("    integrityImpact: ").append(toIndentedString(integrityImpact)).append("\n");
    sb.append("    severity: ").append(toIndentedString(severity)).append("\n");
    sb.append("    source: ").append(toIndentedString(source)).append("\n");
    sb.append("    vulnerabilityName: ").append(toIndentedString(vulnerabilityName)).append("\n");
    sb.append("    vulnerabilityPublishedDate: ").append(toIndentedString(vulnerabilityPublishedDate)).append("\n");
    sb.append("    vulnerabilityUpdatedDate: ").append(toIndentedString(vulnerabilityUpdatedDate)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(java.lang.Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
  
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy