X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Freactor%2Floader%2FChain.java;h=8c98e5098015299bc0b1c3b5a9799025e86a6db4;hb=b984a8b79ccaec6c2f97cc5c6cca60c6257dad05;hp=91892a55e1999e98e73cf47cf92720665fc3fbfb;hpb=9bd0be10a640c02e27c509f5b2f6cbb01b0c87f6;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 91892a5..8c98e50 100644
--- a/src/main/java/net/pterodactylus/reactor/loader/Chain.java
+++ b/src/main/java/net/pterodactylus/reactor/loader/Chain.java
@@ -17,18 +17,16 @@
package net.pterodactylus.reactor.loader;
+import java.util.ArrayList;
import java.util.List;
-import org.simpleframework.xml.Element;
-import org.simpleframework.xml.ElementList;
-import org.simpleframework.xml.Root;
+import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Model for chain definitions.
*
* @author David âBombeâ Roden
*/
-@Root
public class Chain {
/**
@@ -39,11 +37,11 @@ public class Chain {
public static class Parameter {
/** The name of the parameter. */
- @Element
+ @JsonProperty
private String name;
/** The value of the parameter. */
- @Element
+ @JsonProperty
private String value;
/**
@@ -103,12 +101,12 @@ public class Chain {
public static class Part {
/** The class name of the part. */
- @Element(name = "class")
+ @JsonProperty(value = "class")
private String name;
/** The parameters of the part. */
- @ElementList(required = false, empty = false)
- private List parameters;
+ @JsonProperty
+ private List parameters = new ArrayList();
/**
* Returns the name of the partâs class.
@@ -167,27 +165,31 @@ public class Chain {
}
/** Whether this chain is enabled. */
- @Element
+ @JsonProperty
private boolean enabled;
+ /** The name of the chain. */
+ @JsonProperty
+ private String name;
+
/** The query of the chain. */
- @Element
+ @JsonProperty
private Part query;
/** The filters of the chain. */
- @ElementList(required = false, empty = false)
- private List filters;
+ @JsonProperty
+ private List filters = new ArrayList();
/** The trigger of the chain. */
- @Element
+ @JsonProperty
private Part trigger;
/** The action of the chain. */
- @Element
+ @JsonProperty
private Part action;
/** Interval between updates (in seconds). */
- @Element
+ @JsonProperty
private int updateInterval;
/**
@@ -200,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
@@ -254,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();
@@ -273,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;
}