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

org.whitesource.agent.via.api.VulnerabilityAnalysisResult Maven / Gradle / Ivy

package org.whitesource.agent.via.api;

import java.io.Serializable;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

/**
 * Result of the Vulnerability Impact Analysis
 *
 * @author artiom.petrov
 */
public class VulnerabilityAnalysisResult implements Serializable {

    /* --- Static members --- */

    private static final long serialVersionUID = 8803589031348460812L;

    /* --- Members --- */

    // map from CVE to vulnerable elements
    private Map> vulnerableElements;

    // resource identifier
    private String matchValue;

    /* --- Constructor --- */

    public VulnerabilityAnalysisResult() {
        vulnerableElements = new HashMap<>();
    }

    public VulnerabilityAnalysisResult(String matchValue, Map> vulnerableElements) {
        this.matchValue = matchValue;
        this.vulnerableElements = vulnerableElements;
    }

    /* --- Overridden methods --- */

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof VulnerabilityAnalysisResult)) return false;
        VulnerabilityAnalysisResult that = (VulnerabilityAnalysisResult) o;
        return Objects.equals(vulnerableElements, that.vulnerableElements) &&
                Objects.equals(matchValue, that.matchValue);
    }

    @Override
    public int hashCode() {
        return Objects.hash(vulnerableElements, matchValue);
    }

    /* --- Getters / Setters --- */

    public String getMatchValue() {
        return matchValue;
    }

    public void setMatchValue(String matchValue) {
        this.matchValue = matchValue;
    }

    public Map> getVulnerableElements() {
        return vulnerableElements;
    }

    public void setVulnerableElements(Map> vulnerableElements) {
        this.vulnerableElements = vulnerableElements;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy