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

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

package org.whitesource.agent.via.api;

import java.io.Serializable;
import java.util.Collection;
import java.util.LinkedList;
import java.util.Objects;

/**
 * Holds all vulnerability traces which address specific element
 *
 * @author artiom.petrov
 */
public class VulnerableElement implements Serializable {

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

    private static final long serialVersionUID = -4764927498260473239L;

    /* --- Members --- */

    // class or method
    private String element;
    private Collection vulnerabilityTraces;

    /* --- Constructor --- */

    public VulnerableElement() {
        vulnerabilityTraces = new LinkedList<>();
    }

    public VulnerableElement(String element, Collection vulnerabilityTraces) {
        this.element = element;
        this.vulnerabilityTraces = vulnerabilityTraces;
    }

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

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

    @Override
    public int hashCode() {
        return Objects.hash(element, vulnerabilityTraces);
    }

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

    public String getElement() {
        return element;
    }

    public void setElement(String element) {
        this.element = element;
    }

    public Collection getVulnerabilityTraces() {
        return vulnerabilityTraces;
    }

    public void setVulnerabilityTraces(Collection vulnerabilityTraces) {
        this.vulnerabilityTraces = vulnerabilityTraces;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy