Frames | No Frames |
1: /* =========================================================== 2: * JFreeChart : a free chart library for the Java(tm) platform 3: * =========================================================== 4: * 5: * (C) Copyright 2000-2007, by Object Refinery Limited and Contributors. 6: * 7: * Project Info: http://www.jfree.org/jfreechart/index.html 8: * 9: * This library is free software; you can redistribute it and/or modify it 10: * under the terms of the GNU Lesser General Public License as published by 11: * the Free Software Foundation; either version 2.1 of the License, or 12: * (at your option) any later version. 13: * 14: * This library is distributed in the hope that it will be useful, but 15: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 16: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 17: * License for more details. 18: * 19: * You should have received a copy of the GNU Lesser General Public 20: * License along with this library; if not, write to the Free Software 21: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 22: * USA. 23: * 24: * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 25: * in the United States and other countries.] 26: * 27: * -------------- 28: * ValueTick.java 29: * -------------- 30: * (C) Copyright 2003-2007, by Object Refinery Limited. 31: * 32: * Original Author: David Gilbert (for Object Refinery Limited); 33: * Contributor(s): -; 34: * 35: * Changes 36: * ------- 37: * 07-Nov-2003 : Version 1 (DG); 38: * 02-Aug-2007 : Added tick type attribute (DG); 39: * 40: */ 41: 42: package org.jfree.chart.axis; 43: 44: import org.jfree.ui.TextAnchor; 45: 46: /** 47: * A value tick. 48: */ 49: public abstract class ValueTick extends Tick { 50: 51: /** The value. */ 52: private double value; 53: 54: /** 55: * The tick type (major or minor). 56: * 57: * @since 1.0.7 58: */ 59: private TickType tickType; 60: 61: /** 62: * Creates a new value tick. 63: * 64: * @param value the value. 65: * @param label the label. 66: * @param textAnchor the part of the label that is aligned to the anchor 67: * point. 68: * @param rotationAnchor defines the rotation point relative to the label. 69: * @param angle the rotation angle (in radians). 70: */ 71: public ValueTick(double value, String label, 72: TextAnchor textAnchor, TextAnchor rotationAnchor, 73: double angle) { 74: 75: this(TickType.MAJOR, value, label, textAnchor, rotationAnchor, angle); 76: this.value = value; 77: 78: } 79: 80: /** 81: * Creates a new value tick. 82: * 83: * @param tickType the tick type (major or minor). 84: * @param value the value. 85: * @param label the label. 86: * @param textAnchor the part of the label that is aligned to the anchor 87: * point. 88: * @param rotationAnchor defines the rotation point relative to the label. 89: * @param angle the rotation angle (in radians). 90: * 91: * @since 1.0.7 92: */ 93: public ValueTick(TickType tickType, double value, String label, 94: TextAnchor textAnchor, TextAnchor rotationAnchor, 95: double angle) { 96: 97: super(label, textAnchor, rotationAnchor, angle); 98: this.value = value; 99: this.tickType = tickType; 100: } 101: 102: /** 103: * Returns the value. 104: * 105: * @return The value. 106: */ 107: public double getValue() { 108: return this.value; 109: } 110: 111: /** 112: * Returns the tick type (major or minor). 113: * 114: * @return The tick type. 115: * 116: * @since 1.0.7 117: */ 118: public TickType getTickType() { 119: return this.tickType; 120: } 121: 122: /** 123: * Tests this tick for equality with an arbitrary object. 124: * 125: * @param obj the object to test (<code>null</code> permitted). 126: * 127: * @return A boolean. 128: */ 129: public boolean equals(Object obj) { 130: if (obj == this) { 131: return true; 132: } 133: if (!(obj instanceof ValueTick)) { 134: return false; 135: } 136: ValueTick that = (ValueTick) obj; 137: if (this.value != that.value) { 138: return false; 139: } 140: if (!this.tickType.equals(that.tickType)) { 141: return false; 142: } 143: return super.equals(obj); 144: } 145: 146: }