org.cip4.jdflib.datatypes
Class JDFNumberRange

java.lang.Object
  extended by org.cip4.jdflib.datatypes.JDFRange
      extended by org.cip4.jdflib.datatypes.JDFNumberRange
All Implemented Interfaces:
JDFBaseDataTypes

public class JDFNumberRange
extends JDFRange

This class represents a number range (JDFNumberRange). It is a whitespace separated list of 2 double values separated by a tilde "~", for example "1.23 ~ 1.45"


Nested Class Summary
 
Nested classes/interfaces inherited from interface org.cip4.jdflib.datatypes.JDFBaseDataTypes
JDFBaseDataTypes.EnumFitsValue
 
Field Summary
 
Fields inherited from interface org.cip4.jdflib.datatypes.JDFBaseDataTypes
EPSILON, MAX_CMYK_COLOR, MAX_LAB_COLOR, MAX_MATRIX_DIMENSION, MAX_RECTANGLE_DIMENSION, MAX_RGB_COLOR, MAX_SHAPE_DIMENSION, MAX_XY_DIMENSION
 
Constructor Summary
JDFNumberRange()
          constructs an empty JDFNumberRange
JDFNumberRange(double x)
          constructs a JDFNumberRange, both values are equal ("from x to x")
JDFNumberRange(double xmin, double xmax)
          constructor, creates a JDFNumberRange bounded by two double values ("from xmin to xmax")
JDFNumberRange(JDFNumberRange nr)
          copy constructor, creates a JDFNumberRange with the given JDFNumberRange
JDFNumberRange(String s)
          constructs a JDFNumberRange with the values of the given string
 
Method Summary
static JDFNumberRange createNumberRange(String s)
          factory for JDFNumberRange that silently returns null in case of illegal strings
 boolean equals(Object other)
          equals - returns true if both JDFNumberRange are equal otherwise false, the difference must be smaller than EPSILON
 double getLeft()
          getLeft - returns the left value of the range
protected  Object getLeftObject()
           
 String getLeftString()
          returns the string representation of the left value of the range
 double getLowerValue()
          getLowerValue - returns the lower value of the bounds
for example 4.5~6.3 returns 4.5, 7.0~5.9 returns 5.9
 double getRight()
          getRight - returns the right value of the range
protected  Object getRightObject()
           
 String getRightString()
          returns the string representation of the left value of the range
 String getString(int precision)
          get a string with precision digits after each decimal
 double getUpperValue()
          getUpperValue - return the upper value of the bounds
for example 4.5~6.3 returns 6.3, 7.0~5.9 returns 7.0
 int hashCode()
          hashCode complements equals() to fulfill the equals/hashCode contract
protected  void init(double xmin, double xmax)
          Initialization
protected  boolean inObjectRange(Object other)
           
 boolean inRange(double x)
          inRange - returns true if (lower value >= x <= upper value)
 boolean isPartOfRange(JDFRange ra)
          isPartOfRange - is range 'r' within this range?
 boolean isValid(String s)
          isValid - validate the given String
 void scale(double f)
          scale - scales both values
 void setLeft(double x)
          setLeft - sets the left double object
 void setRight(double x)
          setRight - sets the right double object
 String toString()
          toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JDFNumberRange

public JDFNumberRange()
constructs an empty JDFNumberRange


JDFNumberRange

public JDFNumberRange(double x)
constructs a JDFNumberRange, both values are equal ("from x to x")

Parameters:
x - the given double

JDFNumberRange

public JDFNumberRange(double xmin,
                      double xmax)
constructor, creates a JDFNumberRange bounded by two double values ("from xmin to xmax")

Parameters:
xmin - the given min value
xmax - the given max value

JDFNumberRange

public JDFNumberRange(JDFNumberRange nr)
copy constructor, creates a JDFNumberRange with the given JDFNumberRange

Parameters:
nr -

JDFNumberRange

public JDFNumberRange(String s)
               throws DataFormatException
constructs a JDFNumberRange with the values of the given string

Parameters:
s - the given string
Throws:
DataFormatException - - if the String has not a valid format
Method Detail

createNumberRange

public static JDFNumberRange createNumberRange(String s)
factory for JDFNumberRange that silently returns null in case of illegal strings

Parameters:
s - the string to parse
Returns:
the JDFNumberRange, null if s is not compatible

init

protected void init(double xmin,
                    double xmax)
Initialization

Parameters:
xmin - left value
xmax - right value

toString

public String toString()
toString

Overrides:
toString in class Object
Returns:
String

isValid

public boolean isValid(String s)
isValid - validate the given String

Parameters:
s - the given string to validate
Returns:
boolean - false if the String has not a valid format

equals

public boolean equals(Object other)
equals - returns true if both JDFNumberRange are equal otherwise false, the difference must be smaller than EPSILON

Overrides:
equals in class JDFRange
Parameters:
other - the object to compare with this
Returns:
boolean - true if equal otherwise false

hashCode

public int hashCode()
hashCode complements equals() to fulfill the equals/hashCode contract

Overrides:
hashCode in class JDFRange
Returns:
int - hash code of this

getLeftString

public String getLeftString()
returns the string representation of the left value of the range

Returns:
the left value of the range

getLeft

public double getLeft()
getLeft - returns the left value of the range

Returns:
double - the left value of the range

getRightString

public String getRightString()
returns the string representation of the left value of the range

Returns:
the left value of the range

getRight

public double getRight()
getRight - returns the right value of the range

Returns:
double - the right value of the range

setLeft

public void setLeft(double x)
setLeft - sets the left double object

Parameters:
x - the left double object

setRight

public void setRight(double x)
setRight - sets the right double object

Parameters:
x - the right double object

scale

public void scale(double f)
scale - scales both values

Parameters:
f - the scaling factor

getLowerValue

public double getLowerValue()
getLowerValue - returns the lower value of the bounds
for example 4.5~6.3 returns 4.5, 7.0~5.9 returns 5.9

Returns:
double - the lower value of the range

getUpperValue

public double getUpperValue()
getUpperValue - return the upper value of the bounds
for example 4.5~6.3 returns 6.3, 7.0~5.9 returns 7.0

Returns:
double - the upper value of the range

inRange

public boolean inRange(double x)
inRange - returns true if (lower value >= x <= upper value)

Parameters:
x - comparison value
Returns:
boolean - true if x in range

isPartOfRange

public boolean isPartOfRange(JDFRange ra)
isPartOfRange - is range 'r' within this range?

Specified by:
isPartOfRange in class JDFRange
Parameters:
r - the range to test
Returns:
boolean - true if range 'r' is within this range, else false

getRightObject

protected Object getRightObject()
Specified by:
getRightObject in class JDFRange

getLeftObject

protected Object getLeftObject()
Specified by:
getLeftObject in class JDFRange

inObjectRange

protected boolean inObjectRange(Object other)
Overrides:
inObjectRange in class JDFRange

getString

public String getString(int precision)
Description copied from class: JDFRange
get a string with precision digits after each decimal

Overrides:
getString in class JDFRange
Returns:
See Also:
JDFRange.getString(int)


Copyright © 2013. All Rights Reserved.