# Class ELArithmetic.BigIntegerDelegate

java.lang.Object
org.apache.el.lang.ELArithmetic
org.apache.el.lang.ELArithmetic.BigIntegerDelegate

Enclosing class:
  `ELArithmetic`

public static final class ELArithmetic.BigIntegerDelegate extends ELArithmetic
Arithmetic delegate for BigInteger operations.

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class ELArithmetic

  `ELArithmetic.BigDecimalDelegate, ELArithmetic.BigIntegerDelegate, ELArithmetic.DoubleDelegate, ELArithmetic.LongDelegate`

- ## Field Summary

  ### Fields inherited from class ELArithmetic

  `BIGDECIMAL, BIGINTEGER, DOUBLE, LONG`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `BigIntegerDelegate()`
  Construct a new BigIntegerDelegate.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Number`
  `add(Number num0, Number num1)`
  Add two numbers.
  `protected Number`
  `coerce(Number num)`
  Coerce a number to the delegate's preferred type.
  `protected Number`
  `coerce(String str)`
  Coerce a string to a number.
  `protected Number`
  `divide(Number num0, Number num1)`
  Divide two numbers.
  `boolean`
  `matches(Object obj0, Object obj1)`
  Check if this delegate matches the given operand types.
  `protected Number`
  `mod(Number num0, Number num1)`
  Compute the modulo of two numbers.
  `protected Number`
  `multiply(Number num0, Number num1)`
  Multiply two numbers.
  `protected Number`
  `subtract(Number num0, Number num1)`
  Subtract two numbers.

  ### Methods inherited from class ELArithmetic

  `add, coerce, divide, isNumber, isNumberType, mod, multiply, subtract`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### BigIntegerDelegate

    public BigIntegerDelegate()
    Construct a new BigIntegerDelegate.

- ## Method Details

  - ### add

    protected Number add(Number num0, Number num1)
    Description copied from class: `ELArithmetic`
    Add two numbers.
    Specified by:
      `add` in class `ELArithmetic`
    Parameters:
      `num0` - The first number
      `num1` - The second number
    Returns:
      The sum

  - ### coerce

    protected Number coerce(Number num)
    Description copied from class: `ELArithmetic`
    Coerce a number to the delegate's preferred type.
    Specified by:
      `coerce` in class `ELArithmetic`
    Parameters:
      `num` - The number to coerce
    Returns:
      The coerced number

  - ### coerce

    protected Number coerce(String str)
    Description copied from class: `ELArithmetic`
    Coerce a string to a number.
    Specified by:
      `coerce` in class `ELArithmetic`
    Parameters:
      `str` - The string to coerce
    Returns:
      The coerced number

  - ### divide

    protected Number divide(Number num0, Number num1)
    Description copied from class: `ELArithmetic`
    Divide two numbers.
    Specified by:
      `divide` in class `ELArithmetic`
    Parameters:
      `num0` - The dividend
      `num1` - The divisor
    Returns:
      The quotient

  - ### multiply

    protected Number multiply(Number num0, Number num1)
    Description copied from class: `ELArithmetic`
    Multiply two numbers.
    Specified by:
      `multiply` in class `ELArithmetic`
    Parameters:
      `num0` - The first number
      `num1` - The second number
    Returns:
      The product

  - ### mod

    protected Number mod(Number num0, Number num1)
    Description copied from class: `ELArithmetic`
    Compute the modulo of two numbers.
    Specified by:
      `mod` in class `ELArithmetic`
    Parameters:
      `num0` - The dividend
      `num1` - The divisor
    Returns:
      The remainder

  - ### subtract

    protected Number subtract(Number num0, Number num1)
    Description copied from class: `ELArithmetic`
    Subtract two numbers.
    Specified by:
      `subtract` in class `ELArithmetic`
    Parameters:
      `num0` - The minuend
      `num1` - The subtrahend
    Returns:
      The difference

  - ### matches

    public boolean matches(Object obj0, Object obj1)
    Description copied from class: `ELArithmetic`
    Check if this delegate matches the given operand types.
    Specified by:
      `matches` in class `ELArithmetic`
    Parameters:
      `obj0` - The first operand
      `obj1` - The second operand
    Returns:
      true if this delegate should handle these types