Class DimensionValue
java.lang.Object
org.eclipse.birt.report.model.api.metadata.DimensionValue
Representation of a dimension property value. A dimension has two parts: the
measure and the optional units. If the units are
DEFAULT_UNIT
,
then the units are assumed to be those set on the design as a whole.
The following units are supported:
- in (inch)
- cm (centimeter)
- mm (millimeter)
- pt (point)
- pc (pica)
- px (pixel)
- em (the height of the element's font)
- ex (x-height)
- % (percentage)
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Pattern
Compiled pattern for CSS absolute pattern: "000.000,000.000"static final String
Default unit for the dimension.static final Pattern
Compiled pattern for CSS absolute pattern: "000,000.000,000"protected final double
The numeric measure part of the dimension.protected final String
The units part of the dimension. -
Constructor Summary
ConstructorsConstructorDescriptionDimensionValue
(double theMeasure, String theUnits) Constructs a DimensionValue given its measure and unit. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Compares this dimension value to the given object.double
Returns the measure portion of the dimension.getUnits()
Returns the units portion of the dimension.int
hashCode()
Returns a hash code for thisDimensionValue
object.static int
indexOfUnitLetter
(String value) Finds index of the first unit character( pt, %, pc...static DimensionValue
Deprecated.static DimensionValue
parseInput
(String value) Deprecated.Returns the dimension value in localized format.toString()
Converts the dimension value to a locale-independent string.
-
Field Details
-
measure
protected final double measureThe numeric measure part of the dimension. -
units
The units part of the dimension. -
DEFAULT_UNIT
Default unit for the dimension.- See Also:
-
dotSeparatorPattern
Compiled pattern for CSS absolute pattern: "000,000.000,000" -
commaSeparatorPattern
Compiled pattern for CSS absolute pattern: "000.000,000.000"
-
-
Constructor Details
-
DimensionValue
Constructs a DimensionValue given its measure and unit.- Parameters:
theMeasure
- numeric measuretheUnits
- units part for the dimension.- Throws:
IllegalArgumentException
- if the unit is not supported.
-
-
Method Details
-
getMeasure
public double getMeasure()Returns the measure portion of the dimension.- Returns:
- the measure
-
getUnits
Returns the units portion of the dimension.- Returns:
- the units.
-
parse
Deprecated.replaced byStringUtil.parse(String)
Parses a dimension string in locale-independent way. The input string must match the following:- null
- [1-9][0-9]*[.[0-9]*[ ]*[in|cm|mm|pt|pc|em|ex|px|%]]
- Parameters:
value
- the dimension string to parse- Returns:
- a dimension object representing the dimension string.
- Throws:
PropertyValueException
- if the string is not valid
-
parseInput
Deprecated.Parses a dimension string in locale-dependent way. The input can be in localized value. The measure part use the decimal separator from the locale. e,g. "123,456.78" for English ; "123.456,78" for German.The string must match the following:
- null
- [1-9][0-9]*[.[0-9]*[ ]*[u]], u is the one of the allowed units
- Parameters:
value
- the string to parse- Returns:
- a dimension object
- Throws:
PropertyValueException
- if the string is not valid
-
toString
Converts the dimension value to a locale-independent string. The string will be converted into a format like "#.###", there is no group separator and remains at most 3 digits after the decimal separator. e.g: "12,000,000.12345cm" will be converted into "12000000.123" -
toDisplayString
Returns the dimension value in localized format.- Returns:
- localized format for this instance.
-
indexOfUnitLetter
Finds index of the first unit character( pt, %, pc... ) in the String.- Parameters:
value
- an input string- Returns:
- index of the first letter. Return -1 if no letter found in the String value.
-
equals
Compares this dimension value to the given object. The result istrue
if and only if the argument is not null and is a dimension value object with the same measure and the same type of unit. The two dimension values with different units are not equal, although they can be converted to same measure -
hashCode
public int hashCode()Returns a hash code for thisDimensionValue
object. The result is computed with the exclusive OR of the two halves of thelong
integer bit representation of the measure, and the hash code of unit string. The measure bit representation is exactly produced by the method Double.doubleToLongBits(double), of the primitivedouble
value represented by the measure of thisDimensionValue
object. That is, the hash code is the value of the expression:int result = 17 + 37 * (int) (m ˆ (m >>> 32)); result = 37 * result + getUnits().toLowerCase().hashCode();
m
is defined by:long m = Double.doubleToLongBits(this.getMeasure());
-
StringUtil.parse(String)