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

com.crawljax.plugins.crawloverview.model.OutPutModel Maven / Gradle / Ivy

There is a newer version: 5.2.3
Show newest version
package com.crawljax.plugins.crawloverview.model;

import javax.annotation.concurrent.Immutable;

import com.crawljax.core.ExitNotifier.ExitStatus;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;

/**
 * Result of a Crawl session.
 * 

* This class is nearly {@link Immutable}. Unfortunately {@link State#getCandidateElements()} isn't * so that might leak state. */ @Immutable public final class OutPutModel { private final ImmutableMap states; private final ImmutableList edges; private final Statistics statistics; private final ExitStatus exitStatus; @JsonCreator public OutPutModel(@JsonProperty("states") ImmutableMap states, @JsonProperty("edges") ImmutableList edges, @JsonProperty("statistics") Statistics statistics, @JsonProperty("exitStatus") ExitStatus exitStatus) { this.states = states; this.edges = edges; this.statistics = statistics; this.exitStatus = exitStatus; } public ImmutableMap getStates() { return states; } public ImmutableList getEdges() { return edges; } public Statistics getStatistics() { return statistics; } public ExitStatus getExitStatus() { return exitStatus; } @Override public int hashCode() { return Objects.hashCode(states, edges, statistics, exitStatus); } @Override public boolean equals(Object object) { if (object instanceof OutPutModel) { OutPutModel that = (OutPutModel) object; return Objects.equal(this.states, that.states) && Objects.equal(this.edges, that.edges) && Objects.equal(this.statistics, that.statistics) && Objects.equal(this.exitStatus, that.exitStatus); } return false; } @Override public String toString() { return Objects.toStringHelper(this).add("exitStatus", exitStatus) .add("states", states).add("edges", edges) .add("statistics", statistics).toString(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy