// // CustomAggregator.java // // Copyright 2013, Proofpoint Inc. All rights reserved. // package org.kairosdb.client.builder.aggregator; import org.kairosdb.client.builder.Aggregator; import static org.kairosdb.client.util.Preconditions.checkNotNullOrEmpty; /** * Creates an aggregator that takes custom JSON. */ public class CustomAggregator extends Aggregator { private String json; public CustomAggregator(String name, String json) { super(name); this.json = checkNotNullOrEmpty(json); } public String toJson() { return "{\"name\":\"" + getName() + "\"," + json + "}"; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; if (!super.equals(o)) return false; CustomAggregator that = (CustomAggregator) o; return json.equals(that.json); } @Override public int hashCode() { int result = super.hashCode(); result = 31 * result + json.hashCode(); return result; } }