Package org.zkoss.zel.impl.lang

## Class ELArithmetic

- java.lang.Object
- - org.zkoss.zel.impl.lang.ELArithmetic

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

      public abstract class ELArithmetic
      extends java.lang.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 java.lang.Number` | `add​(java.lang.Number num0, java.lang.Number num1)` |
    `static java.lang.Number` | `add​(java.lang.Object obj0, java.lang.Object obj1)` |
    `protected abstract java.lang.Number` | `coerce​(java.lang.Number num)` |
    `protected java.lang.Number` | `coerce​(java.lang.Object obj)` |
    `protected abstract java.lang.Number` | `coerce​(java.lang.String str)` |
    `protected abstract java.lang.Number` | `divide​(java.lang.Number num0, java.lang.Number num1)` |
    `static java.lang.Number` | `divide​(java.lang.Object obj0, java.lang.Object obj1)` |
    `static boolean` | `isNumber​(java.lang.Object obj)` |
    `static boolean` | `isNumberType​(java.lang.Class<?> type)` |
    `protected abstract boolean` | `matches​(java.lang.Object obj0, java.lang.Object obj1)` |
    `protected abstract java.lang.Number` | `mod​(java.lang.Number num0, java.lang.Number num1)` |
    `static java.lang.Number` | `mod​(java.lang.Object obj0, java.lang.Object obj1)` |
    `protected abstract java.lang.Number` | `multiply​(java.lang.Number num0, java.lang.Number num1)` |
    `static java.lang.Number` | `multiply​(java.lang.Object obj0, java.lang.Object obj1)` |
    `protected abstract java.lang.Number` | `subtract​(java.lang.Number num0, java.lang.Number num1)` |
    `static java.lang.Number` | `subtract​(java.lang.Object obj0, java.lang.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 java.lang.Number add​(java.lang.Object obj0,
                                                   java.lang.Object obj1)

    - #### mod

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

    - #### subtract

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

    - #### divide

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

    - #### multiply

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

    - #### isNumber

          public static final boolean isNumber​(java.lang.Object obj)

    - #### isNumberType

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

    - #### add

          protected abstract java.lang.Number add​(java.lang.Number num0,
                                                  java.lang.Number num1)

    - #### multiply

          protected abstract java.lang.Number multiply​(java.lang.Number num0,
                                                       java.lang.Number num1)

    - #### subtract

          protected abstract java.lang.Number subtract​(java.lang.Number num0,
                                                       java.lang.Number num1)

    - #### mod

          protected abstract java.lang.Number mod​(java.lang.Number num0,
                                                  java.lang.Number num1)

    - #### coerce

          protected abstract java.lang.Number coerce​(java.lang.Number num)

    - #### coerce

          protected final java.lang.Number coerce​(java.lang.Object obj)

    - #### coerce

          protected abstract java.lang.Number coerce​(java.lang.String str)

    - #### divide

          protected abstract java.lang.Number divide​(java.lang.Number num0,
                                                     java.lang.Number num1)

    - #### matches

          protected abstract boolean matches​(java.lang.Object obj0,
                                             java.lang.Object obj1)