org.apache.fop.fo.expr

## Class NumericProperty

- java.lang.Object
- - org.apache.fop.fo.properties.Property
  - - org.apache.fop.fo.expr.NumericProperty

- All Implemented Interfaces:
    Length, Numeric

      public class NumericProperty
      extends Property
      implements Numeric, Length

  A numeric property which hold the final absolute result of an expression calculations.

- - ### Field Summary

    - ### Fields inherited from class org.apache.fop.fo.properties.Property

      `log`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `NumericProperty(double value, int dim)` Construct a Numeric object by specifying one or more components, including absolute length, percent length, table units.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object obj)`
    `Color` | `getColor(FOUserAgent foUserAgent)` This method expects to be overridden by subclasses
    `int` | `getDimension()` Return the dimension.
    `Length` | `getLength()` This method expects to be overridden by subclasses
    `Number` | `getNumber()` This method expects to be overridden by subclasses
    `Numeric` | `getNumeric()` This method expects to be overridden by subclasses
    `double` | `getNumericValue()` Return the value.
    `double` | `getNumericValue(PercentBaseContext context)` Return the value of this Numeric
    `Object` | `getObject()` This method expects to be overridden by subclasses
    `int` | `getValue()` Returns the value of this numeric as an int.
    `int` | `getValue(PercentBaseContext context)` Returns the value of this numeric as an int.
    `int` | `hashCode()`
    `boolean` | `isAbsolute()` Return true of the numeric is absolute.
    `String` | `toString()`

    - ### Methods inherited from class org.apache.fop.fo.properties.Property

      `getCharacter, getCondLength, getEnum, getKeep, getLengthPair, getLengthRange, getList, getNCname, getSpace, getSpecifiedValue, getString, isAuto, setSpecifiedValue`

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

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

    - ### Methods inherited from interface org.apache.fop.datatypes.Numeric

      `getEnum`

- - ### Constructor Detail

    - #### NumericProperty

          protected NumericProperty(double value,
                                    int dim)

      Construct a Numeric object by specifying one or more components, including absolute length, percent length, table units.
      Parameters:
        `value` - The value of the numeric.
        `dim` - The dimension of the value. 0 for a Number, 1 for a Length (any type), >1, <0 if Lengths have been multiplied or divided.

  - ### Method Detail

    - #### getDimension

          public int getDimension()

      Return the dimension. Return the dimension of this numeric. Plain numbers has a dimension of 0 and length has a dimension of 1. Other dimension can occur as a result of multiplications and divisions.
      Specified by:
        `getDimension` in interface `Numeric`
      Returns:
        the dimension.

    - #### getNumericValue

          public double getNumericValue()

      Return the value. Return the value of this Numeric
      Specified by:
        `getNumericValue` in interface `Numeric`
      Returns:
        the computed value.

    - #### getNumericValue

          public double getNumericValue(PercentBaseContext context)

      Return the value of this Numeric
      Specified by:
        `getNumericValue` in interface `Numeric`
      Parameters:
        `context` - The context for the length calculation (for percentage based lengths)
      Returns:
        the computed value.

    - #### isAbsolute

          public boolean isAbsolute()

      Return true of the numeric is absolute. Return true if the numeric is an absolute value. Relative values are percentages and table-column-units. All other numerics are absolute.
      Specified by:
        `isAbsolute` in interface `Numeric`
      Returns:
        true when the numeric is absolute.

    - #### getNumeric

          public Numeric getNumeric()

      This method expects to be overridden by subclasses
      Overrides:
        `getNumeric` in class `Property`
      Returns:
        Numeric property value

    - #### getNumber

          public Number getNumber()

      This method expects to be overridden by subclasses
      Overrides:
        `getNumber` in class `Property`
      Returns:
        Number property value

    - #### getValue

          public int getValue()

      Returns the value of this numeric as an int.
      Specified by:
        `getValue` in interface `Length`
      Specified by:
        `getValue` in interface `Numeric`
      Returns:
        the value as an integer.

    - #### getValue

          public int getValue(PercentBaseContext context)

      Returns the value of this numeric as an int.
      Specified by:
        `getValue` in interface `Length`
      Specified by:
        `getValue` in interface `Numeric`
      Parameters:
        `context` - the context for the length calculation (for percentage based lengths)
      Returns:
        the value as an integer.

    - #### getLength

          public Length getLength()

      This method expects to be overridden by subclasses
      Overrides:
        `getLength` in class `Property`
      Returns:
        Length property value

    - #### getColor

          public Color getColor(FOUserAgent foUserAgent)

      This method expects to be overridden by subclasses
      Overrides:
        `getColor` in class `Property`
      Parameters:
        `foUserAgent` - FOP user agent
      Returns:
        ColorType property value

    - #### getObject

          public Object getObject()

      This method expects to be overridden by subclasses
      Overrides:
        `getObject` in class `Property`
      Returns:
        Object property value

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Property`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

Copyright © 2023 Apache Software Foundation. All rights reserved.