# Class UnitValue

java.lang.Object
com.codename1.ui.layouts.mig.UnitValue

public final class UnitValue extends java.lang.Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `ADD`
  An operation indicating a addition of two sub units.
  `static final int`
  `ALIGN`
  A unit indicating alignment.
  `static final int`
  `BUTTON`
  A unit indicating botton size.
  `static final int`
  `CM`
  A unit indicating centimeters.
  `static final int`
  `DIV`
  An operation indicating a division of two sub units.
  `static final int`
  `INCH`
  A unit indicating inches.
  `static final int`
  `LABEL_ALIGN`
  A unit indicating label alignment.
  `static final int`
  `LINK_H`
  A unit indicating linking to height.
  `static final int`
  `LINK_W`
  A unit indicating linking to width.
  `static final int`
  `LINK_X`
  A unit indicating linking to x.
  `static final int`
  `LINK_X2`
  A unit indicating linking to x2.
  `static final int`
  `LINK_XPOS`
  A unit indicating linking to x position on screen.
  `static final int`
  `LINK_Y`
  A unit indicating linking to y.
  `static final int`
  `LINK_Y2`
  A unit indicating linking to y2.
  `static final int`
  `LINK_YPOS`
  A unit indicating linking to y position on screen.
  `static final int`
  `LOOKUP`
  A unit indicating a lookup.
  `static final int`
  `LPX`
  A unit indicating logical horizontal pixels.
  `static final int`
  `LPY`
  A unit indicating logical vertical pixels.
  `static final int`
  `MAX`
  An operation indicating the maximum of two sub units
  `static final int`
  `MAX_SIZE`
  A unit indicating maximum size.
  `static final int`
  `MID`
  An operation indicating the middle value of two sub units
  `static final int`
  `MIN`
  An operation indicating the minimum of two sub units
  `static final int`
  `MIN_SIZE`
  A unit indicating minimum size.
  `static final int`
  `MM`
  A unit indicating millimeters.
  `static final int`
  `MUL`
  An operation indicating a multiplication of two sub units.
  `static final int`
  `PERCENT`
  A unit indicating percent.
  `static final int`
  `PIXEL`
  A unit indicating pixels.
  `static final int`
  `PREF_SIZE`
  A unit indicating preferred size.
  `static final int`
  `PT`
  A unit indicating points.
  `static final int`
  `SPX`
  A unit indicating screen percentage width.
  `static final int`
  `SPY`
  A unit indicating screen percentage height.
  `static final int`
  `STATIC`
  An operation indicating a static value.
  `static final int`
  `SUB`
  An operation indicating a subtraction of two sub units

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `UnitValue(float value)`
  `UnitValue(float value, int unit, String createString)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static void`
  `addGlobalUnitConverter(UnitConverter conv)`
  Adds a global unit converter that can convert from some `unit` to pixels.
  `boolean`
  `equals(java.lang.Object obj)`
  `String`
  `getConstraintString()`
  Returns the creation string for this object.
  `static int`
  `getDefaultUnit()`
  Returns the current default unit.
  `static UnitConverter[]`
  `getGlobalUnitConverters()`
  Returns the global converters currently registered.
  `int`
  `getOperation()`
  `int`
  `getPixels(float refValue, ContainerWrapper parent, ComponentWrapper comp)`
  Returns the size in pixels rounded.
  `float`
  `getPixelsExact(float refValue, ContainerWrapper parent, ComponentWrapper comp)`
  Returns the size in pixels.
  `UnitValue[]`
  `getSubUnits()`
  `int`
  `getUnit()`
  `String`
  `getUnitString()`
  `float`
  `getValue()`
  `int`
  `hashCode()`
  `boolean`
  `isHorizontal()`
  `static boolean`
  `removeGlobalUnitConverter(UnitConverter unit)`
  Removed the converter.
  `static void`
  `setDefaultUnit(int unit)`
  Sets the default unit.
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### STATIC

    public static final int STATIC
    An operation indicating a static value.
    See Also:
      - Constant Field Values

  - ### ADD

    public static final int ADD
    An operation indicating a addition of two sub units.
    See Also:
      - Constant Field Values

  - ### SUB

    public static final int SUB
    An operation indicating a subtraction of two sub units
    See Also:
      - Constant Field Values

  - ### MUL

    public static final int MUL
    An operation indicating a multiplication of two sub units.
    See Also:
      - Constant Field Values

  - ### DIV

    public static final int DIV
    An operation indicating a division of two sub units.
    See Also:
      - Constant Field Values

  - ### MIN

    public static final int MIN
    An operation indicating the minimum of two sub units
    See Also:
      - Constant Field Values

  - ### MAX

    public static final int MAX
    An operation indicating the maximum of two sub units
    See Also:
      - Constant Field Values

  - ### MID

    public static final int MID
    An operation indicating the middle value of two sub units
    See Also:
      - Constant Field Values

  - ### PIXEL

    public static final int PIXEL
    A unit indicating pixels.
    See Also:
      - Constant Field Values

  - ### LPX

    public static final int LPX
    A unit indicating logical horizontal pixels.
    See Also:
      - Constant Field Values

  - ### LPY

    public static final int LPY
    A unit indicating logical vertical pixels.
    See Also:
      - Constant Field Values

  - ### MM

    public static final int MM
    A unit indicating millimeters.
    See Also:
      - Constant Field Values

  - ### CM

    public static final int CM
    A unit indicating centimeters.
    See Also:
      - Constant Field Values

  - ### INCH

    public static final int INCH
    A unit indicating inches.
    See Also:
      - Constant Field Values

  - ### PERCENT

    public static final int PERCENT
    A unit indicating percent.
    See Also:
      - Constant Field Values

  - ### PT

    public static final int PT
    A unit indicating points.
    See Also:
      - Constant Field Values

  - ### SPX

    public static final int SPX
    A unit indicating screen percentage width.
    See Also:
      - Constant Field Values

  - ### SPY

    public static final int SPY
    A unit indicating screen percentage height.
    See Also:
      - Constant Field Values

  - ### ALIGN

    public static final int ALIGN
    A unit indicating alignment.
    See Also:
      - Constant Field Values

  - ### MIN_SIZE

    public static final int MIN_SIZE
    A unit indicating minimum size.
    See Also:
      - Constant Field Values

  - ### PREF_SIZE

    public static final int PREF_SIZE
    A unit indicating preferred size.
    See Also:
      - Constant Field Values

  - ### MAX_SIZE

    public static final int MAX_SIZE
    A unit indicating maximum size.
    See Also:
      - Constant Field Values

  - ### BUTTON

    public static final int BUTTON
    A unit indicating botton size.
    See Also:
      - Constant Field Values

  - ### LINK_X

    public static final int LINK_X
    A unit indicating linking to x.
    See Also:
      - Constant Field Values

  - ### LINK_Y

    public static final int LINK_Y
    A unit indicating linking to y.
    See Also:
      - Constant Field Values

  - ### LINK_W

    public static final int LINK_W
    A unit indicating linking to width.
    See Also:
      - Constant Field Values

  - ### LINK_H

    public static final int LINK_H
    A unit indicating linking to height.
    See Also:
      - Constant Field Values

  - ### LINK_X2

    public static final int LINK_X2
    A unit indicating linking to x2.
    See Also:
      - Constant Field Values

  - ### LINK_Y2

    public static final int LINK_Y2
    A unit indicating linking to y2.
    See Also:
      - Constant Field Values

  - ### LINK_XPOS

    public static final int LINK_XPOS
    A unit indicating linking to x position on screen.
    See Also:
      - Constant Field Values

  - ### LINK_YPOS

    public static final int LINK_YPOS
    A unit indicating linking to y position on screen.
    See Also:
      - Constant Field Values

  - ### LOOKUP

    public static final int LOOKUP
    A unit indicating a lookup.
    See Also:
      - Constant Field Values

  - ### LABEL_ALIGN

    public static final int LABEL_ALIGN
    A unit indicating label alignment.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### UnitValue

    public UnitValue(float value)

  - ### UnitValue

    public UnitValue(float value, int unit, String createString)

- ## Method Details

  - ### addGlobalUnitConverter

    public static void addGlobalUnitConverter(UnitConverter conv)

    Adds a global unit converter that can convert from some `unit` to pixels.

    This converter will be asked before the platform converter so the values for it (e.g. "related" and "unrelated") can be overridden. It is however not possible to override the built in ones (e.g. "mm", "pixel" or "lp").

    ###### Parameters

    - `conv`: The converter. Not `null`.

  - ### removeGlobalUnitConverter

    public static boolean removeGlobalUnitConverter(UnitConverter unit)

    Removed the converter.

    ###### Parameters

    - `unit`: The converter.

    ###### Returns

    If there was a converter found and thus removed.

  - ### getGlobalUnitConverters

    public static UnitConverter[] getGlobalUnitConverters()

    Returns the global converters currently registered. The platform converter will not be in this list.

    ###### Returns

    The converters. Never `null`.

  - ### getDefaultUnit

    public static int getDefaultUnit()

    Returns the current default unit. The default unit is the unit used if no unit is set. E.g. "width 10".

    ###### Returns

    The current default unit.

    ###### Deprecated

    Use `PlatformDefaults#getDefaultHorizontalUnit()` and `PlatformDefaults#getDefaultVerticalUnit()` instead.

    ###### See also

    - #PIXEL

    - #LPX

  - ### setDefaultUnit

    public static void setDefaultUnit(int unit)

    Sets the default unit. The default unit is the unit used if no unit is set. E.g. "width 10".

    ###### Parameters

    - `unit`: The new default unit.

    ###### Deprecated

    Use `PlatformDefaults#setDefaultHorizontalUnit(int)` and `PlatformDefaults#setDefaultVerticalUnit(int)` instead.

    ###### See also

    - #PIXEL

    - #LPX

  - ### getPixels

    public int getPixels(float refValue, ContainerWrapper parent, ComponentWrapper comp)

    Returns the size in pixels rounded.

    ###### Parameters

    - `refValue`: The reference value. Normally the size of the parent. For unit `#ALIGN` the current size of the component should be sent in.

    - `parent`: @param parent The parent. May be `null` for testing the validity of the value, but should normally not and are not required to return any usable value if `null`.

    - `comp`: @param comp The component, if any, that the value is for. Might be `null` if the value is not connected to any component.

    ###### Returns

    The size in pixels.

  - ### getPixelsExact

    public float getPixelsExact(float refValue, ContainerWrapper parent, ComponentWrapper comp)

    Returns the size in pixels.

    ###### Parameters

    - `refValue`: The reference value. Normally the size of the parent. For unit `#ALIGN` the current size of the component should be sent in.

    - `parent`: @param parent The parent. May be `null` for testing the validity of the value, but should normally not and are not required to return any usable value if `null`.

    - `comp`: @param comp The component, if any, that the value is for. Might be `null` if the value is not connected to any component.

    ###### Returns

    The size in pixels.

  - ### getSubUnits

    public UnitValue[] getSubUnits()

  - ### getUnit

    public int getUnit()

  - ### getUnitString

    public String getUnitString()

  - ### getOperation

    public int getOperation()

  - ### getValue

    public float getValue()

  - ### isHorizontal

    public boolean isHorizontal()

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `java.lang.Object`

  - ### getConstraintString

    public String getConstraintString()

    Returns the creation string for this object. Note that `boolean)` must be set to `true` for the creation strings to be stored.

    ###### Returns

    The constraint string or `null` if none is registered.

  - ### hashCode

    public int hashCode()
    Overrides:
      `hashCode` in class `java.lang.Object`

  - ### equals

    public boolean equals(java.lang.Object obj)
    Overrides:
      `equals` in class `java.lang.Object`