Package org.cip4.jdflib.datatypes
Class JDFXYPairRangeList
- java.lang.Object
-
- org.cip4.jdflib.datatypes.JDFRangeList
-
- org.cip4.jdflib.datatypes.JDFXYPairRangeList
-
- All Implemented Interfaces:
JDFBaseDataTypes
public class JDFXYPairRangeList extends JDFRangeList
This class is a representation of a xy pair range list (JDFXYPairRangeList). It is a whitespace separated list of xy pair ranges, for example "1 2~5 8 10.25 10.25~44.55 55.34"
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.cip4.jdflib.datatypes.JDFBaseDataTypes
JDFBaseDataTypes.EnumFitsValue
-
-
Field Summary
-
Fields inherited from class org.cip4.jdflib.datatypes.JDFRangeList
rangeList
-
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
Constructors Constructor Description JDFXYPairRangeList()constructs an empty range listJDFXYPairRangeList(java.lang.String s)constructs a JDFXYPairRangeList with values from a given stringJDFXYPairRangeList(JDFXYPairRange r)constructs a JDFXYPairRangeList with the given JDFXYPairRangeJDFXYPairRangeList(JDFXYPairRangeList rl)copy constructor
constructs a JDFXYPairRangeList with the given JDFXYPairRangeList
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappend(JDFXYPair x)append - appends a new range to the range list, based on a single JDFXYPairvoidappend(JDFXYPairRange r)append - appends a JDFXYPairRange to this number rangevoidappend(JDFXYPair xMin, JDFXYPair xMax)append - appends a new range to the range liststatic JDFXYPairRangeListcreateXYPairRangeList(java.lang.String s)factory for JDFXYPairRangeList that silently returns null in case of illegal stringsbooleaninRange(JDFXYPair x)inRange - returns true if the given JDFXYPair value is in one of the ranges of this range listbooleanisOrdered()isOrdered - tests if 'this' is OrderedRangeListbooleanisUniqueOrdered()isUniqueOrdered - tests if 'this' is UniqueOrdered RangeListbooleanisValid(java.lang.String s)isValid - validate the given StringvoidsetString(java.lang.String s)setString
Parse the string and set the single ranges or pairs and put them into a vector.
The first and the last positions in the vector are special, because they contain only a half range: the first can start with a pair and the last can end with a pair.
-
-
-
Constructor Detail
-
JDFXYPairRangeList
public JDFXYPairRangeList()
constructs an empty range list
-
JDFXYPairRangeList
public JDFXYPairRangeList(JDFXYPairRangeList rl)
copy constructor
constructs a JDFXYPairRangeList with the given JDFXYPairRangeList- Parameters:
rl- the JDFXYPairRangeList to copy
-
JDFXYPairRangeList
public JDFXYPairRangeList(JDFXYPairRange r)
constructs a JDFXYPairRangeList with the given JDFXYPairRange- Parameters:
r- the given JDFXYPairRange
-
JDFXYPairRangeList
public JDFXYPairRangeList(java.lang.String s) throws java.util.zip.DataFormatExceptionconstructs a JDFXYPairRangeList with values from a given string- Parameters:
s- the given string- Throws:
java.util.zip.DataFormatException- - if the String has not a valid format
-
-
Method Detail
-
createXYPairRangeList
public static JDFXYPairRangeList createXYPairRangeList(java.lang.String s)
factory for JDFXYPairRangeList that silently returns null in case of illegal strings- Parameters:
s- the string to parse- Returns:
- the JDFXYPairRangeList, null if s is not compatible
-
inRange
public boolean inRange(JDFXYPair x)
inRange - returns true if the given JDFXYPair value is in one of the ranges of this range list- Parameters:
x- the given double value to compare- Returns:
- boolean - true if in range otherwise false
-
setString
public void setString(java.lang.String s) throws java.util.zip.DataFormatExceptionsetString
Parse the string and set the single ranges or pairs and put them into a vector.
The first and the last positions in the vector are special, because they contain only a half range: the first can start with a pair and the last can end with a pair. The elements in the middle (position 2 - (n-1)) start and end with a half range, but can have pairs in the middle.For example, if the string looks like this: * "1 2 ~ 4 5 6 7 ~ 8 9 10 11 ~ 1 1"
it is the representation of 3 ranges:
range 1: "1 2 ~ 4 5", range 2: "6 7 ~ 8 9" and range 3: "10 11 ~ 1 1"- Parameters:
s- the given string to cut in seperate xy pair ranges- Throws:
java.util.zip.DataFormatException
-
isValid
public boolean isValid(java.lang.String s)
isValid - validate the given String- Parameters:
s- the given string- Returns:
- boolean - false if the String has not a valid format
-
append
public void append(JDFXYPairRange r)
append - appends a JDFXYPairRange to this number range- Parameters:
r- the JDFXYPairRange range to append
-
append
public void append(JDFXYPair xMin, JDFXYPair xMax)
append - appends a new range to the range list- Parameters:
xMin- the min value of the new rangexMax- the max value of the new range
-
append
public void append(JDFXYPair x)
append - appends a new range to the range list, based on a single JDFXYPair- Parameters:
x- both the min and the max value of the new range
-
isOrdered
public boolean isOrdered()
isOrdered - tests if 'this' is OrderedRangeList- Specified by:
isOrderedin classJDFRangeList- Returns:
- boolean - true if 'this' is a OrdneredRangeList
-
isUniqueOrdered
public boolean isUniqueOrdered()
isUniqueOrdered - tests if 'this' is UniqueOrdered RangeList- Specified by:
isUniqueOrderedin classJDFRangeList- Returns:
- boolean - true if 'this' is UniqueOrdered RangeList
-
-