package se.unlogic.standardutils.json; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class JsonArray implements JsonNode { private final List<JsonNode> nodes = new ArrayList<JsonNode>(); public String toJson(StringBuilder stringBuilder) { stringBuilder.append("["); Iterator<JsonNode> iterator = nodes.iterator(); JsonNode node; while(iterator.hasNext()) { node = iterator.next(); node.toJson(stringBuilder); if(iterator.hasNext()) { stringBuilder.append(","); } } stringBuilder.append("]"); return stringBuilder.toString(); } public void addNode(JsonNode node) { this.nodes.add(node); } public void removeNode(JsonNode node) { this.nodes.remove(node); } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((nodes == null) ? 0 : nodes.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; JsonArray other = (JsonArray) obj; if (nodes == null) { if (other.nodes != null) return false; } else if (!nodes.equals(other.nodes)) return false; return true; } }