package org.commcare.suite.model.graph; import org.commcare.suite.model.Text; import org.javarosa.core.util.externalizable.DeserializationException; import org.javarosa.core.util.externalizable.ExtUtil; import org.javarosa.core.util.externalizable.Externalizable; import org.javarosa.core.util.externalizable.PrototypeFactory; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; /** * Definition of an annotation, which is text drawn at a specified x, y coordinate on a graph. * * @author jschweers */ public class Annotation implements Externalizable { private Text mX; private Text mY; private Text mAnnotation; public Annotation() { } public Annotation(Text x, Text y, Text annotation) { mX = x; mY = y; mAnnotation = annotation; } public Text getX() { return mX; } public Text getY() { return mY; } public Text getAnnotation() { return mAnnotation; } @Override public void readExternal(DataInputStream in, PrototypeFactory pf) throws IOException, DeserializationException { mX = (Text)ExtUtil.read(in, Text.class, pf); mY = (Text)ExtUtil.read(in, Text.class, pf); mAnnotation = (Text)ExtUtil.read(in, Text.class, pf); } @Override public void writeExternal(DataOutputStream out) throws IOException { ExtUtil.write(out, mX); ExtUtil.write(out, mY); ExtUtil.write(out, mAnnotation); } }