Class NumericOp

java.lang.Object
org.apache.fop.fo.expr.NumericOp

public final class NumericOp extends Object
This class contains static methods to evaluate operations on Numeric operands. If the operands are absolute numerics the result is computed rigth away and a new absolute numeric is return. If one of the operands are relative a n operation node is created with the operation and the operands. The evaluation of the operation can then occur when getNumericValue() is called.
  • Method Details

    • addition

      public static Numeric addition(Numeric op1, Numeric op2) throws PropertyException
      Add the two operands and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • addition2

      public static Numeric addition2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Add the two operands with a percentage context and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • subtraction

      public static Numeric subtraction(Numeric op1, Numeric op2) throws PropertyException
      Add the second operand from the first and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • subtraction2

      public static Numeric subtraction2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Subtract the two operands with a percentage context and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • multiply

      public static Numeric multiply(Numeric op1, Numeric op2) throws PropertyException
      Multiply the two operands and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • multiply2

      public static Numeric multiply2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Multiply the two operands with a percentage context and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • divide

      public static Numeric divide(Numeric op1, Numeric op2) throws PropertyException
      Divide the second operand into the first and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • divide2

      public static Numeric divide2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Divide the two operands with a percentage context and return a new Numeric representing the result.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • modulo

      public static Numeric modulo(Numeric op1, Numeric op2) throws PropertyException
      Return the remainder of a division of the two operand Numeric.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      A new Numeric object representing the absolute value.
      Throws:
      PropertyException - if a property exception occurs
    • modulo2

      public static Numeric modulo2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Return the remainder of a division of the two operand Numeric.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • abs

      public static Numeric abs(Numeric op) throws PropertyException
      Return the absolute value of a Numeric.
      Parameters:
      op - the operand.
      Returns:
      a new Numeric object representing the absolute value of the operand.
      Throws:
      PropertyException - if a property exception occurs
    • abs2

      public static Numeric abs2(Numeric op, PercentBaseContext context) throws PropertyException
      Return the absolute value of a Numeric.
      Parameters:
      op - the operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • negate

      public static Numeric negate(Numeric op) throws PropertyException
      Return the negation of a Numeric.
      Parameters:
      op - the operand.
      Returns:
      a new Numeric object representing the negation of the operand.
      Throws:
      PropertyException - if a property exception occurs
    • negate2

      public static Numeric negate2(Numeric op, PercentBaseContext context) throws PropertyException
      Return the negation of a Numeric.
      Parameters:
      op - the operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • max

      public static Numeric max(Numeric op1, Numeric op2) throws PropertyException
      Return the larger of the two Numerics.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      a Numeric which is the maximum of the two operands.
      Throws:
      PropertyException - if the dimensions or value types of the operands are different.
    • max2

      public static Numeric max2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Return the larger of the two Numerics.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.
    • min

      public static Numeric min(Numeric op1, Numeric op2) throws PropertyException
      Return the smaller of two Numerics.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      Returns:
      a Numeric which is the minimum of the two operands.
      Throws:
      PropertyException - if the dimensions or value types of the operands are different.
    • min2

      public static Numeric min2(Numeric op1, Numeric op2, PercentBaseContext context) throws PropertyException
      Return the smaller of the two Numerics.
      Parameters:
      op1 - The first operand.
      op2 - The second operand.
      context - a percent base context
      Returns:
      A Numeric representing the result.
      Throws:
      PropertyException - If the dimension of the operand is different from the dimension of this Numeric.