001/* 002 * Copyright (c) 2003-2010 The Regents of the University of California. 003 * All rights reserved. 004 * 005 * '$Author: welker $' 006 * '$Date: 2010-05-06 05:21:26 +0000 (Thu, 06 May 2010) $' 007 * '$Revision: 24234 $' 008 * 009 * Permission is hereby granted, without written agreement and without 010 * license or royalty fees, to use, copy, modify, and distribute this 011 * software and its documentation for any purpose, provided that the above 012 * copyright notice and the following two paragraphs appear in all copies 013 * of this software. 014 * 015 * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY 016 * FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 017 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF 018 * THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF 019 * SUCH DAMAGE. 020 * 021 * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, 022 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 023 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE 024 * PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF 025 * CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, 026 * ENHANCEMENTS, OR MODIFICATIONS. 027 * 028 */ 029 030package org.kepler.objectmanager.data; 031 032/** 033 * @author tao This class represents a numberic domain 034 */ 035public class NumericDomain implements Domain { 036 private String numberType = null; 037 private DataType dataType = null; 038 private double precision = 0; 039 private Double minimum = null; 040 private Double maxmum = null; 041 private DataTypeResolver resolver = DataTypeResolver.instanceOf(); 042 043 /** 044 * Constructor of numeric domain 045 * 046 * @param numberType 047 * @param minimum 048 * @param maxmum 049 * @throws UnresolvableTypeException 050 */ 051 public NumericDomain(String numberType, Double minimum, Double maxmum) 052 throws UnresolvableTypeException { 053 this.numberType = numberType; 054 this.minimum = minimum; 055 this.maxmum = maxmum; 056 dataType = resolver.resolveDataType(this.numberType, this.minimum, 057 this.maxmum); 058 } 059 060 /** 061 * Method to get data type 062 */ 063 public DataType getDataType() { 064 return dataType; 065 } 066 067 /** 068 * @return Returns the maxmum. 069 */ 070 public Double getMaxmum() { 071 return maxmum; 072 } 073 074 /** 075 * @param maxmum 076 * The maxmum to set. 077 */ 078 public void setMaxmum(Double maxmum) { 079 this.maxmum = maxmum; 080 } 081 082 /** 083 * @return Returns the minimum. 084 */ 085 public Double getMinimum() { 086 return minimum; 087 } 088 089 /** 090 * @param minimum 091 * The minimum to set. 092 */ 093 public void setMinimum(Double minimum) { 094 this.minimum = minimum; 095 } 096 097 /** 098 * @return Returns the precision. 099 */ 100 public double getPrecision() { 101 return precision; 102 } 103 104 /** 105 * @param precision 106 * The precision to set. 107 */ 108 public void setPrecision(double precision) { 109 this.precision = precision; 110 } 111 112}