Range.java

  1. /*
  2.  * Created on 2005/07/28
  3.  * Copyright (C) 2005 Koga Laboratory. All rights reserved.
  4.  *
  5.  */
  6. package org.mklab.tool.graph.gnuplot.decoration;

  7. /**
  8.  * 範囲を表すクラスです。
  9.  *
  10.  * @author koga
  11.  * @version $Revision: 1.8 $, 2005/07/28
  12.  */
  13. public abstract class Range implements GnuplotComponent {
  14.   /** 最小値 */
  15.   private double minimum;
  16.   /** 最大値 */
  17.   private double maximum;

  18.   /**
  19.    * 新しく生成された<code>Range</code>オブジェクトを初期化します。
  20.    * @param minimum 最小値
  21.    * @param maximum 最大値
  22.    */
  23.   public Range(double minimum, double maximum) {
  24.     this.minimum = minimum;
  25.     this.maximum = maximum;
  26.   }
  27.  
  28.   /**
  29.    * 範囲を設定します。
  30.    *
  31.    * @param minimum 最小値
  32.    * @param maximum 最大値
  33.    */
  34.   public void setRange(final double minimum, final double maximum) {
  35.     this.minimum = minimum;
  36.     this.maximum = maximum;
  37.   }

  38.   /**
  39.    * 最小値を設定します。
  40.    *
  41.    * @param minimum 最小値
  42.    */
  43.   public void setMinimum(final double minimum) {
  44.     this.minimum = minimum;
  45.   }

  46.   /**
  47.    * 最小値を返します。
  48.    *
  49.    * @return 最小値
  50.    */
  51.   public double getMinimum() {
  52.     return this.minimum;
  53.   }

  54.   /**
  55.    * 最大値を設定します。
  56.    *
  57.    * @param maximum 最大値
  58.    */
  59.   public void setMaximum(final double maximum) {
  60.     this.maximum = maximum;
  61.   }

  62.   /**
  63.    * 最大値を返します。
  64.    *
  65.    * @return 最大値
  66.    */
  67.   public double getMaximum() {
  68.     return this.maximum;
  69.   }
  70.  

  71.   /**
  72.    * {@inheritDoc}
  73.    */
  74.   @Override
  75.   public int hashCode() {
  76.     final int prime = 31;
  77.     int result = 1;
  78.     long temp;
  79.     temp = Double.doubleToLongBits(this.maximum);
  80.     result = prime * result + (int)(temp ^ (temp >>> 32));
  81.     temp = Double.doubleToLongBits(this.minimum);
  82.     result = prime * result + (int)(temp ^ (temp >>> 32));
  83.     return result;
  84.   }

  85.   /**
  86.    * {@inheritDoc}
  87.    */
  88.   @Override
  89.   public boolean equals(Object obj) {
  90.     if (this == obj) return true;
  91.     if (obj == null) return false;
  92.     if (getClass() != obj.getClass()) return false;
  93.     Range other = (Range)obj;
  94.     if (Double.doubleToLongBits(this.maximum) != Double.doubleToLongBits(other.maximum)) return false;
  95.     if (Double.doubleToLongBits(this.minimum) != Double.doubleToLongBits(other.minimum)) return false;
  96.     return true;
  97.   }
  98. }