123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- package com.github.mikephil.charting.data;
- import android.graphics.drawable.Drawable;
- import android.os.Parcel;
- import android.os.ParcelFormatException;
- import android.os.Parcelable;
- import com.github.mikephil.charting.utils.Utils;
- /**
- * Class representing one entry in the chart. Might contain multiple values.
- * Might only contain a single value depending on the used constructor.
- *
- * @author Philipp Jahoda
- */
- public class Entry extends BaseEntry implements Parcelable {
- /** the x value */
- private float x = 0f;
- public Entry() {
- }
- /**
- * A Entry represents one single entry in the chart.
- *
- * @param x the x value
- * @param y the y value (the actual value of the entry)
- */
- public Entry(float x, float y) {
- super(y);
- this.x = x;
- }
- /**
- * A Entry represents one single entry in the chart.
- *
- * @param x the x value
- * @param y the y value (the actual value of the entry)
- * @param data Spot for additional data this Entry represents.
- */
- public Entry(float x, float y, Object data) {
- super(y, data);
- this.x = x;
- }
- /**
- * A Entry represents one single entry in the chart.
- *
- * @param x the x value
- * @param y the y value (the actual value of the entry)
- * @param icon icon image
- */
- public Entry(float x, float y, Drawable icon) {
- super(y, icon);
- this.x = x;
- }
- /**
- * A Entry represents one single entry in the chart.
- *
- * @param x the x value
- * @param y the y value (the actual value of the entry)
- * @param icon icon image
- * @param data Spot for additional data this Entry represents.
- */
- public Entry(float x, float y, Drawable icon, Object data) {
- super(y, icon, data);
- this.x = x;
- }
- /**
- * Returns the x-value of this Entry object.
- *
- * @return
- */
- public float getX() {
- return x;
- }
- /**
- * Sets the x-value of this Entry object.
- *
- * @param x
- */
- public void setX(float x) {
- this.x = x;
- }
- /**
- * returns an exact copy of the entry
- *
- * @return
- */
- public Entry copy() {
- Entry e = new Entry(x, getY(), getData());
- return e;
- }
- /**
- * Compares value, xIndex and data of the entries. Returns true if entries
- * are equal in those points, false if not. Does not check by hash-code like
- * it's done by the "equals" method.
- *
- * @param e
- * @return
- */
- public boolean equalTo(Entry e) {
- if (e == null)
- return false;
- if (e.getData() != this.getData())
- return false;
- if (Math.abs(e.x - this.x) > Utils.FLOAT_EPSILON)
- return false;
- if (Math.abs(e.getY() - this.getY()) > Utils.FLOAT_EPSILON)
- return false;
- return true;
- }
- /**
- * returns a string representation of the entry containing x-index and value
- */
- @Override
- public String toString() {
- return "Entry, x: " + x + " y: " + getY();
- }
- @Override
- public int describeContents() {
- return 0;
- }
- @Override
- public void writeToParcel(Parcel dest, int flags) {
- dest.writeFloat(this.x);
- dest.writeFloat(this.getY());
- if (getData() != null) {
- if (getData() instanceof Parcelable) {
- dest.writeInt(1);
- dest.writeParcelable((Parcelable) this.getData(), flags);
- } else {
- throw new ParcelFormatException("Cannot parcel an Entry with non-parcelable data");
- }
- } else {
- dest.writeInt(0);
- }
- }
- protected Entry(Parcel in) {
- this.x = in.readFloat();
- this.setY(in.readFloat());
- if (in.readInt() == 1) {
- this.setData(in.readParcelable(Object.class.getClassLoader()));
- }
- }
- public static final Parcelable.Creator<Entry> CREATOR = new Parcelable.Creator<Entry>() {
- public Entry createFromParcel(Parcel source) {
- return new Entry(source);
- }
- public Entry[] newArray(int size) {
- return new Entry[size];
- }
- };
- }
|