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;
}
}