package com.fr.plugin.demo; import com.fr.extended.chart.AbstractDataConfig; import com.fr.extended.chart.ExtendedField; import com.fr.stable.AssistUtils; import com.fr.stable.xml.XMLPrintWriter; import com.fr.stable.xml.XMLableReader; /** * Created by shine on 2018/3/24. */ public class DemoDataConfig extends AbstractDataConfig { private ExtendedField x = new ExtendedField(); private String targetName; private ExtendedField y = new ExtendedField(); private ExtendedField z = new ExtendedField(); public ExtendedField getX() { return x; } public void setX(ExtendedField x) { this.x = x; } public ExtendedField getY() { return y; } public void setY(ExtendedField y) { this.y = y; } public ExtendedField getZ() { return z; } public void setZ(ExtendedField z) { this.z = z; } public String getTargetName() { return targetName; } public void setTargetName(String targetName) { this.targetName = targetName; } @Override protected void readAttr(XMLableReader reader) { readExtendedField(x, "x", reader); this.setTargetName(reader.getAttrAsString("targetName", "")); readExtendedField(y, "y", reader); readExtendedField(z, "z", reader); } @Override protected void writeAttr(XMLPrintWriter writer) { writeExtendedField(x, "x", writer); writer.attr("targetName", this.getTargetName()); writeExtendedField(y, "y", writer); writeExtendedField(z, "z", writer); } @Override public ExtendedField[] dataSetFields() { return new ExtendedField[]{ x, y, z }; } @Override public DemoDataConfig clone() throws CloneNotSupportedException { DemoDataConfig result = new DemoDataConfig(); result.setX(this.getX().clone()); result.setTargetName(this.getTargetName()); result.setY(this.getY().clone()); result.setZ(this.getZ().clone()); return result; } @Override public int hashCode() { return super.hashCode() + AssistUtils.hashCode(this.getX(), this.getY(), this.getZ(), this.getTargetName()); } @Override public boolean equals(Object obj) { return obj instanceof DemoDataConfig && AssistUtils.equals(this.getX(), ((DemoDataConfig) obj).getX()) && AssistUtils.equals(this.getTargetName(), ((DemoDataConfig) obj).getTargetName()) && AssistUtils.equals(this.getY(), ((DemoDataConfig) obj).getY()) && AssistUtils.equals(this.getZ(), ((DemoDataConfig) obj).getZ()) ; } }