Package org.apache.el.lang

## Class ELArithmetic

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

- Direct Known Subclasses:
    `ELArithmetic.BigDecimalDelegate`, `ELArithmetic.BigIntegerDelegate`, `ELArithmetic.DoubleDelegate`, `ELArithmetic.LongDelegate`

      public abstract class ELArithmetic
      extends Object

  A helper class of Arithmetic defined by the EL Specification
  Author:
    Jacob Hookom [jacob@hookom.net]

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ELArithmetic.BigDecimalDelegate` |
    `static class` | `ELArithmetic.BigIntegerDelegate` |
    `static class` | `ELArithmetic.DoubleDelegate` |
    `static class` | `ELArithmetic.LongDelegate` |

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static ELArithmetic.BigDecimalDelegate` | `BIGDECIMAL` |
    `static ELArithmetic.BigIntegerDelegate` | `BIGINTEGER` |
    `static ELArithmetic.DoubleDelegate` | `DOUBLE` |
    `static ELArithmetic.LongDelegate` | `LONG` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `ELArithmetic()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected abstract Number` | `add​(Number num0, Number num1)` |
    `static Number` | `add​(Object obj0, Object obj1)` |
    `protected abstract Number` | `coerce​(Number num)` |
    `protected Number` | `coerce​(Object obj)` |
    `protected abstract Number` | `coerce​(String str)` |
    `protected abstract Number` | `divide​(Number num0, Number num1)` |
    `static Number` | `divide​(Object obj0, Object obj1)` |
    `static boolean` | `isNumber​(Object obj)` |
    `static boolean` | `isNumberType​(Class<?> type)` |
    `protected abstract boolean` | `matches​(Object obj0, Object obj1)` |
    `protected abstract Number` | `mod​(Number num0, Number num1)` |
    `static Number` | `mod​(Object obj0, Object obj1)` |
    `protected abstract Number` | `multiply​(Number num0, Number num1)` |
    `static Number` | `multiply​(Object obj0, Object obj1)` |
    `protected abstract Number` | `subtract​(Number num0, Number num1)` |
    `static Number` | `subtract​(Object obj0, Object obj1)` |

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

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

- - ### Field Detail

    - #### BIGDECIMAL

          public static final ELArithmetic.BigDecimalDelegate BIGDECIMAL

    - #### BIGINTEGER

          public static final ELArithmetic.BigIntegerDelegate BIGINTEGER

    - #### DOUBLE

          public static final ELArithmetic.DoubleDelegate DOUBLE

    - #### LONG

          public static final ELArithmetic.LongDelegate LONG

  - ### Constructor Detail

    - #### ELArithmetic

          protected ELArithmetic()

  - ### Method Detail

    - #### add

          public static final Number add​(Object obj0,
                                         Object obj1)

    - #### mod

          public static final Number mod​(Object obj0,
                                         Object obj1)

    - #### subtract

          public static final Number subtract​(Object obj0,
                                              Object obj1)

    - #### divide

          public static final Number divide​(Object obj0,
                                            Object obj1)

    - #### multiply

          public static final Number multiply​(Object obj0,
                                              Object obj1)

    - #### isNumber

          public static final boolean isNumber​(Object obj)

    - #### isNumberType

          public static final boolean isNumberType​(Class<?> type)

    - #### add

          protected abstract Number add​(Number num0,
                                        Number num1)

    - #### multiply

          protected abstract Number multiply​(Number num0,
                                             Number num1)

    - #### subtract

          protected abstract Number subtract​(Number num0,
                                             Number num1)

    - #### mod

          protected abstract Number mod​(Number num0,
                                        Number num1)

    - #### coerce

          protected abstract Number coerce​(Number num)

    - #### coerce

          protected final Number coerce​(Object obj)

    - #### coerce

          protected abstract Number coerce​(String str)

    - #### divide

          protected abstract Number divide​(Number num0,
                                           Number num1)

    - #### matches

          protected abstract boolean matches​(Object obj0,
                                             Object obj1)