def METHOD_NAME(type, mode, timeScales):
    """Constructor for object managing an array of Exponential Moving Average (EMA) objects.
    Args:
        type: enum value 'LEVEL', 'DIFFERENCE'.
        mode: enum value 'TICK', 'TIME' specifying whether to calculate the ema with respect to record count
            or elapsed time.
        timeScales: the ema decay constants (wrt nanosecond timestamp) - list, tuple, numpy.ndarray, or
            java double array.
    Returns:
        io.deephaven.numerics.movingaverages.EmaArray instance.
    """
    type = _convertEnumBehavior(type, _JAbstractMAType)
    mode = _convertEnumBehavior(mode, _JAbstractMATMode)
    if isinstance(timeScales, list) or isinstance(timeScales, tuple) or isinstance(timeScales, numpy.ndarray):
        timeScales = jpy.array('double', timeScales)
    return _JEmaArray(type, mode, timeScales)