fop 1.1

## org.apache.fop.fo.expr
Class RelativeNumericProperty

    java.lang.Object
      org.apache.fop.fo.properties.Property
          org.apache.fop.fo.expr.RelativeNumericProperty

All Implemented Interfaces:
  Length, Numeric

    public class RelativeNumericProperty

extends Property
implements Length

This class represent a node in a property expression tree. It is created when an operation involve relative expression and is used to delay evaluation of the operation until the time where getNumericValue() or getValue() is called.

Field Summary
`static int` `ABS` ABS
`static int` `ADDITION` ADDITION
`static int` `DIVIDE` DIVIDE
`static int` `MAX` MAX
`static int` `MIN` MIN
`static int` `MODULO` MODULO
`static int` `MULTIPLY` MULTIPLY
`static int` `NEGATE` NEGATE
`static int` `SUBTRACTION` SUBTRACTION

Fields inherited from class org.apache.fop.fo.properties.Property
`log`

Constructor Summary
`RelativeNumericProperty(int operation, Numeric op)` Constructor for a one argument operation.
`RelativeNumericProperty(int operation, Numeric op1, Numeric op2)` Constructor for a two argument operation.

Method Summary
`boolean` `equals(java.lang.Object obj)`
`int` `getDimension()` Return the dimension of the expression
`Length` `getLength()` Cast this numeric as a Length.
`Numeric` `getNumeric()` This method expects to be overridden by subclasses
`double` `getNumericValue()` Return the resolved (calculated) value of the expression.
`double` `getNumericValue(PercentBaseContext context)` Return the value of this Numeric
`double` `getTableUnits()` Return the number of table units which are included in this length specification.
`int` `getValue()` Returns the length in 1/1000ths of a point (millipoints)
`int` `getValue(PercentBaseContext context)` Returns the length in 1/1000ths of a point (millipoints)
`int` `hashCode()`
`boolean` `isAbsolute()` Return false since an expression is only created when there is relative numerics involved.
`java.lang.String` `toString()` Return a string represention of the expression.

Methods inherited from class org.apache.fop.fo.properties.Property
`getCharacter, getColor, getCondLength, getEnum, getKeep, getLengthPair, getLengthRange, getList, getNCname, getNumber, getObject, 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`

Field Detail

### ADDITION

    public static final int ADDITION

  ADDITION

  See Also:
    Constant Field Values

### SUBTRACTION

    public static final int SUBTRACTION

  SUBTRACTION

  See Also:
    Constant Field Values

### MULTIPLY

    public static final int MULTIPLY

  MULTIPLY

  See Also:
    Constant Field Values

### DIVIDE

    public static final int DIVIDE

  DIVIDE

  See Also:
    Constant Field Values

### MODULO

    public static final int MODULO

  MODULO

  See Also:
    Constant Field Values

### NEGATE

    public static final int NEGATE

  NEGATE

  See Also:
    Constant Field Values

### ABS

    public static final int ABS

  ABS

  See Also:
    Constant Field Values

### MAX

    public static final int MAX

  MAX

  See Also:
    Constant Field Values

### MIN

    public static final int MIN

  MIN

  See Also:
    Constant Field Values

Constructor Detail

### RelativeNumericProperty

    public RelativeNumericProperty(int operation,
                                   Numeric op1,
                                   Numeric op2)

  Constructor for a two argument operation.

  Parameters:
    `operation` - the operation opcode: ADDITION, SUBTRACTION, ...
    `op1` - the first operand.
    `op2` - the second operand

### RelativeNumericProperty

    public RelativeNumericProperty(int operation,
                                   Numeric op)

  Constructor for a one argument operation.

  Parameters:
    `operation` - the operation opcode: NEGATE, ABS
    `op` - the operand.

Method Detail

### getNumericValue

    public double getNumericValue()
                           throws PropertyException

  Return the resolved (calculated) value of the expression. Return the value of this Numeric

  Specified by:
    `getNumericValue` in interface `Numeric`
  Returns:
    the computed value.
  Throws:
    `PropertyException` - if a property exception occurs

### getNumericValue

    public double getNumericValue(PercentBaseContext context)
                           throws PropertyException

  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.
  Throws:
    `PropertyException` - if a property exception occurs

### getDimension

    public int getDimension()

  Return the dimension of the expression

  Specified by:
    `getDimension` in interface `Numeric`
  Returns:
    numeric value as dimension

### isAbsolute

    public boolean isAbsolute()

  Return false since an expression is only created when there is relative numerics involved.

  Specified by:
    `isAbsolute` in interface `Numeric`
  Returns:
    true if expression is absolute

### getLength

    public Length getLength()

  Cast this numeric as a Length.

  Overrides:
    `getLength` in class `Property`
  Returns:
    numeric value as length

### getNumeric

    public Numeric getNumeric()

  Description copied from class: `Property`
  This method expects to be overridden by subclasses

  Overrides:
    `getNumeric` in class `Property`
  Returns:
    numeric value

### getValue

    public int getValue()

  Returns the length in 1/1000ths of a point (millipoints)

  Specified by:
    `getValue` in interface `Length`
  Specified by:
    `getValue` in interface `Numeric`
  Returns:
    the length in millipoints

### getValue

    public int getValue(PercentBaseContext context)

  Returns the length in 1/1000ths of a point (millipoints)

  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 length in millipoints

### getTableUnits

    public double getTableUnits()

  Return the number of table units which are included in this length specification. This will always be 0 unless the property specification used the proportional-column-width() function (only on table column FOs).

  If this value is not 0, the actual value of the Length cannot be known without looking at all of the columns in the table to determine the value of a "table-unit".

  Returns:
    The number of table units which are included in this length specification.

### toString

    public java.lang.String toString()

  Return a string represention of the expression. Only used for debugging.

  Overrides:
    `toString` in class `Property`
  Returns:
    the string representation.

### 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`

fop 1.1

Copyright 1999-2012 The Apache Software Foundation. All Rights Reserved.