X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Freactor%2Floader%2FChain.java;h=8c98e5098015299bc0b1c3b5a9799025e86a6db4;hb=13a4fe6bece23b3dd561de657cf9bb7ea307e2b6;hp=b0188596e960da87a888121e3e202d8ede35f65b;hpb=d959856be39657398f81519240b4e3baa497efa0;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/reactor/loader/Chain.java b/src/main/java/net/pterodactylus/reactor/loader/Chain.java index b018859..8c98e50 100644 --- a/src/main/java/net/pterodactylus/reactor/loader/Chain.java +++ b/src/main/java/net/pterodactylus/reactor/loader/Chain.java @@ -20,16 +20,13 @@ package net.pterodactylus.reactor.loader; import java.util.ArrayList; import java.util.List; -import javax.xml.bind.annotation.XmlElement; -import javax.xml.bind.annotation.XmlElementWrapper; -import javax.xml.bind.annotation.XmlRootElement; +import com.fasterxml.jackson.annotation.JsonProperty; /** * Model for chain definitions. * * @author David ‘Bombe’ Roden */ -@XmlRootElement public class Chain { /** @@ -40,11 +37,11 @@ public class Chain { public static class Parameter { /** The name of the parameter. */ - @XmlElement(required = true) + @JsonProperty private String name; /** The value of the parameter. */ - @XmlElement(required = true) + @JsonProperty private String value; /** @@ -104,12 +101,11 @@ public class Chain { public static class Part { /** The class name of the part. */ - @XmlElement(required = true, name = "class") + @JsonProperty(value = "class") private String name; /** The parameters of the part. */ - @XmlElement(name = "parameter") - @XmlElementWrapper(name = "parameters") + @JsonProperty private List parameters = new ArrayList(); /** @@ -169,28 +165,31 @@ public class Chain { } /** Whether this chain is enabled. */ - @XmlElement(required = true) + @JsonProperty private boolean enabled; + /** The name of the chain. */ + @JsonProperty + private String name; + /** The query of the chain. */ - @XmlElement(required = true) + @JsonProperty private Part query; /** The filters of the chain. */ - @XmlElement(name = "filter") - @XmlElementWrapper(name = "filters") + @JsonProperty private List filters = new ArrayList(); /** The trigger of the chain. */ - @XmlElement(required = true) + @JsonProperty private Part trigger; /** The action of the chain. */ - @XmlElement(required = true) + @JsonProperty private Part action; /** Interval between updates (in seconds). */ - @XmlElement(required = true) + @JsonProperty private int updateInterval; /** @@ -203,6 +202,15 @@ public class Chain { } /** + * Returns the name of the chain. + * + * @return The name of the chain + */ + public String name() { + return name; + } + + /** * Returns the query of this chain. * * @return The query of this chain @@ -257,6 +265,7 @@ public class Chain { @Override public int hashCode() { int hashCode = 0; + hashCode ^= name.hashCode(); hashCode ^= query.hashCode(); for (Part filter : filters) { hashCode ^= filter.hashCode(); @@ -276,6 +285,9 @@ public class Chain { return false; } Chain chain = (Chain) object; + if (!name.equals(chain.name)) { + return false; + } if (!query.equals(chain.query)) { return false; }