Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.birt.report.model.api.metadata
Class DimensionValue

    java.lang.Object
      org.eclipse.birt.report.model.api.metadata.DimensionValue

    public class DimensionValue

extends java.lang.Object

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:
  `DimensionUtil`

Field Summary
`static java.util.regex.Pattern` | `commaSeparatorPattern` Compiled pattern for CSS absolute pattern: "000.000,000.000"
`static java.lang.String` | `DEFAULT_UNIT` Default unit for the dimension.
`static java.util.regex.Pattern` | `dotSeparatorPattern` Compiled pattern for CSS absolute pattern: "000,000.000,000"
`protected double` | `measure` The numeric measure part of the dimension.
`protected java.lang.String` | `units` The units part of the dimension.

Constructor Summary
`DimensionValue(double theMeasure, java.lang.String theUnits)` Constructs a DimensionValue given its measure and unit.

Method Summary
`boolean` | `equals(java.lang.Object obj)` Compares this dimension value to the given object.
`double` | `getMeasure()` Returns the measure portion of the dimension.
`java.lang.String` | `getUnits()` Returns the units portion of the dimension.
`int` | `hashCode()` Returns a hash code for this `DimensionValue` object.
`static int` | `indexOfUnitLetter(java.lang.String value)` Finds index of the first unit character( pt, %, pc...
`static DimensionValue` | `parse(java.lang.String value)` Deprecated. replaced by `StringUtil.parse(String)`
`static DimensionValue` | `parseInput(java.lang.String value)` Deprecated. replaced by `StringUtil.parseInput(String, com.ibm.icu.util.ULocale)`
`java.lang.String` | `toDisplayString()` Returns the dimension value in localized format.
`java.lang.String` | `toString()` Converts the dimension value to a locale-independent string.

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### measure

    protected final double measure

  The numeric measure part of the dimension.

### units

    protected final java.lang.String units

  The units part of the dimension.

### DEFAULT_UNIT

    public static final java.lang.String DEFAULT_UNIT

  Default unit for the dimension.

  See Also:
    Constant Field Values

### dotSeparatorPattern

    public static java.util.regex.Pattern dotSeparatorPattern

  Compiled pattern for CSS absolute pattern: "000,000.000,000"

### commaSeparatorPattern

    public static java.util.regex.Pattern commaSeparatorPattern

  Compiled pattern for CSS absolute pattern: "000.000,000.000"

Constructor Detail

### DimensionValue

    public DimensionValue(double theMeasure,
                          java.lang.String theUnits)

  Constructs a DimensionValue given its measure and unit.

  Parameters:
    `theMeasure` - numeric measure
    `theUnits` - units part for the dimension.
  Throws:
    `java.lang.IllegalArgumentException` - if the unit is not supported.

Method Detail

### getMeasure

    public double getMeasure()

  Returns the measure portion of the dimension.

  Returns:
    the measure

### getUnits

    public java.lang.String getUnits()

  Returns the units portion of the dimension.

  Returns:
    the units.

### parse

    public static DimensionValue parse(java.lang.String value)
                                throws PropertyValueException

  Deprecated. replaced by `StringUtil.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

    public static DimensionValue parseInput(java.lang.String value)
                                     throws PropertyValueException

  Deprecated. replaced by `StringUtil.parseInput(String, com.ibm.icu.util.ULocale)`

  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

    public java.lang.String 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"

  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    The string presentation of this dimension value.

### toDisplayString

    public java.lang.String toDisplayString()

  Returns the dimension value in localized format.

  Returns:
    localized format for this instance.

### indexOfUnitLetter

    public static int indexOfUnitLetter(java.lang.String value)

  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

    public boolean equals(java.lang.Object obj)

  Compares this dimension value to the given object. The result is `true` 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

  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - the object to compare this dimension value against.
  Returns:
    `true` if this dimension value is equal to the given one; `false` otherwise.

### hashCode

    public int hashCode()

  Returns a hash code for this `DimensionValue` object. The result is computed with the exclusive OR of the two halves of the `long` 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 primitive `double` value represented by the measure of this `DimensionValue` 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( );

  where `m` is defined by:

  >      long m = Double.doubleToLongBits( this.getMeasure( ) );

  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    the hash code value for this object.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008 Actuate Corp. All rights reserved.