Package com.singularsys.jep.standard

# Class DoubleNumberFactory

java.lang.Object
com.singularsys.jep.standard.DoubleNumberFactory

All Implemented Interfaces:
  `JepComponent`, `NumberFactory`, `Serializable`

public class DoubleNumberFactory extends Object implements NumberFactory
Default class for creating number objects. This class can be replaced by other NumberFactory implementations if other number types are required.

The results from the different methods can be inconsistent. The `createNumber(Number)` method when passed an `Integer` returns an `Integer`. See `StrictDoubleNumberFactory` for a stricter version where all methods return `Double.`

See Also:
  - Serialized Form

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Double`
  `MINUSONE`
  `static final Double`
  `ONE`
  `static final Double`
  `TWO`
  `static final Double`
  `ZERO`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DoubleNumberFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `createNumber(boolean value)`
  Create a number object with given boolean value
  `Object`
  `createNumber(double value)`
  Creates a number object with given double value.
  `Object`
  `createNumber(float value)`
  Create a number object with given float value
  `Object`
  `createNumber(int value)`
  Create a number object with given int value
  `Object`
  `createNumber(long value)`
  Create a number object with given long value
  `Object`
  `createNumber(short value)`
  Create a number object with given short value
  `Object`
  `createNumber(Complex value)`
  Creates a number from a given complex value.
  `Object`
  `createNumber(Number value)`
  Creates a number object from a class implementing Number, May actually just return the class.
  `Object`
  `createNumber(String value)`
  Creates a Double object initialized to the value of the parameter.
  `JepComponent`
  `getLightWeightInstance()`
  Gets a light-weight instance suitable for using in multiple threads.
  `Object`
  `getMinusOne()`
  Return an object representing ZERO-ONE.
  `Object`
  `getOne()`
  Return an object representing ONE the multiplicative identity.
  `Object`
  `getTwo()`
  Return an object representing ONE+ONE.
  `Object`
  `getZero()`
  Return an object representing ZERO the additive identity.
  `void`
  `init(Jep jep)`
  Initialize the component.

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

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

- ## Field Details

  - ### ZERO

    public static final Double ZERO

  - ### ONE

    public static final Double ONE

  - ### TWO

    public static final Double TWO

  - ### MINUSONE

    public static final Double MINUSONE

- ## Constructor Details

  - ### DoubleNumberFactory

    public DoubleNumberFactory()

- ## Method Details

  - ### createNumber

    public Object createNumber(String value)
    Creates a Double object initialized to the value of the parameter.
    Specified by:
      `createNumber` in interface `NumberFactory`
    Parameters:
      `value` - The initialization value for the returned object.

  - ### createNumber

    public Object createNumber(double value)
    Description copied from interface: `NumberFactory`
    Creates a number object with given double value.
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(Number value)
    Description copied from interface: `NumberFactory`
    Creates a number object from a class implementing Number, May actually just return the class.
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(boolean value)
    Description copied from interface: `NumberFactory`
    Create a number object with given boolean value
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(float value)
    Description copied from interface: `NumberFactory`
    Create a number object with given float value
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(int value)
    Description copied from interface: `NumberFactory`
    Create a number object with given int value
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(short value)
    Description copied from interface: `NumberFactory`
    Create a number object with given short value
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(long value)
    Description copied from interface: `NumberFactory`
    Create a number object with given long value
    Specified by:
      `createNumber` in interface `NumberFactory`

  - ### createNumber

    public Object createNumber(Complex value) throws ParseException
    Description copied from interface: `NumberFactory`
    Creates a number from a given complex value.
    Specified by:
      `createNumber` in interface `NumberFactory`
    Throws:
      `ParseException`

  - ### getMinusOne

    public Object getMinusOne()
    Description copied from interface: `NumberFactory`
    Return an object representing ZERO-ONE.
    Specified by:
      `getMinusOne` in interface `NumberFactory`

  - ### getOne

    public Object getOne()
    Description copied from interface: `NumberFactory`
    Return an object representing ONE the multiplicative identity.
    Specified by:
      `getOne` in interface `NumberFactory`

  - ### getTwo

    public Object getTwo()
    Description copied from interface: `NumberFactory`
    Return an object representing ONE+ONE.
    Specified by:
      `getTwo` in interface `NumberFactory`

  - ### getZero

    public Object getZero()
    Description copied from interface: `NumberFactory`
    Return an object representing ZERO the additive identity.
    Specified by:
      `getZero` in interface `NumberFactory`

  - ### init

    public void init(Jep jep)
    Description copied from interface: `JepComponent`
    Initialize the component. This method is called whenever a component is added to Jep. Hence, it allows components to keep track of the other components they may rely on.
    Specified by:
      `init` in interface `JepComponent`
    Parameters:
      `jep` - the current Jep instance

  - ### getLightWeightInstance

    public JepComponent getLightWeightInstance()
    Description copied from interface: `JepComponent`
    Gets a light-weight instance suitable for using in multiple threads.
    Specified by:
      `getLightWeightInstance` in interface `JepComponent`
    Returns:
      either a new instance, null or 'this'.