org.opcfoundation.ua.utils
Class MultiDimensionArrayUtils

java.lang.Object
  extended by org.opcfoundation.ua.utils.MultiDimensionArrayUtils

public class MultiDimensionArrayUtils
extends Object

Multi-dimension array utils.

Author:
Toni Kalajainen (toni.kalajainen@vtt.fi)
See Also:
related, related, related, related

Nested Class Summary
static class MultiDimensionArrayUtils.ArrayIterator<T>
           
 
Constructor Summary
MultiDimensionArrayUtils()
           
 
Method Summary
static
<R> MultiDimensionArrayUtils.ArrayIterator<R>
arrayIterator(Object array, int[] dimLens)
          arrayIterator.
static Object clone(Object array)
          Clones the multi-dimension structure of an array but the not the individual elements.
static Object[] createMultiDimArray(Class<?> componentType, int[] dims)
          Deep create multi-level array
static Object deepClone(Object array)
          Deep clone structure and elements.
static Object demuxArray(Object src, int[] dims)
          Demux single-dimension array (x[]) to a multi-dimension array (x[][][])
static Object demuxArray(Object src, int[] dims, Class<?> componentType)
          Demux single-dimension array (x[]) to a multi-dimension array (x[][][])
static void demuxArray(Object src, int[] dims, Object dst)
          Demuxes single dimension array into a multi-dimension array
static int[] getArrayLengths(Object value)
          Get array length of each dimension of a multi-dimension array.
static Class<?> getComponentType(Class<?> clazz)
          Get the component type of an array class
static int getDimension(Object value)
          Get the number of dimensions in a multi-dimension array.
static int getLength(int[] dims)
          Returns the total number of elements in a multi-dimension array
static Object muxArray(Object src)
          Multiplex multi-dimension array (x[][][]) to single-dimension array (x[])
static Object muxArray(Object src, int[] dims)
          Multiplex multi-dimension array (x[][][]) to single-dimension array (x[])
static Object muxArray(Object src, int[] dims, Class<?> componentType)
          Multiplex multi-dimension array (x[][][]) to single-dimension array (x[])
static void muxArray(Object src, int[] dims, Object dst)
          Multiplexes multi-dimension array into a single-dimension array
static void printArrayDeep(Object v, PrintStream out)
          Print multi-dimension array
static String toString(Object o)
          Format object to string
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiDimensionArrayUtils

public MultiDimensionArrayUtils()
Method Detail

toString

public static String toString(Object o)
Format object to string

Parameters:
o - a Object object.
Returns:
string representation of the object

clone

public static Object clone(Object array)
Clones the multi-dimension structure of an array but the not the individual elements. Element references remain the same is in the original.

Parameters:
array - a Object object.
Returns:
cloned array

deepClone

public static Object deepClone(Object array)
Deep clone structure and elements. Elements are cloned if they are cloneable, otherwise references are copied.

Parameters:
array - a Object object.
Returns:
a Object object.

printArrayDeep

public static void printArrayDeep(Object v,
                                  PrintStream out)
Print multi-dimension array

Parameters:
v - a Object object.
out - output stream

getArrayLengths

public static int[] getArrayLengths(Object value)
Get array length of each dimension of a multi-dimension array.

Parameters:
value - multi-dimension array
Returns:
lengths of each dimension

getDimension

public static int getDimension(Object value)
Get the number of dimensions in a multi-dimension array.

Parameters:
value - multi-dimension array
Returns:
the number of dimensions

createMultiDimArray

public static Object[] createMultiDimArray(Class<?> componentType,
                                           int[] dims)
Deep create multi-level array

Parameters:
componentType - component type
dims - dimension lengths
Returns:
multi-level array

getLength

public static int getLength(int[] dims)
Returns the total number of elements in a multi-dimension array

Parameters:
dims - lengths of each dimension
Returns:
total number of elements

getComponentType

public static Class<?> getComponentType(Class<?> clazz)
Get the component type of an array class

Parameters:
clazz - (array) class
Returns:
component type

demuxArray

public static Object demuxArray(Object src,
                                int[] dims)
Demux single-dimension array (x[]) to a multi-dimension array (x[][][])

Parameters:
src - single-dimension array
dims - an array of int.
Returns:
multi-dimension array

demuxArray

public static Object demuxArray(Object src,
                                int[] dims,
                                Class<?> componentType)
Demux single-dimension array (x[]) to a multi-dimension array (x[][][])

Parameters:
src - single-dimension array
dims - an array of int.
componentType - a Class object.
Returns:
multi-dimension array

demuxArray

public static void demuxArray(Object src,
                              int[] dims,
                              Object dst)
Demuxes single dimension array into a multi-dimension array

Parameters:
src - one dimension array (e.g. int[])
dims - length of each dimension
dst - multi-dimension array to be filled (use createMultiDimArray())

muxArray

public static Object muxArray(Object src)
Multiplex multi-dimension array (x[][][]) to single-dimension array (x[])

Parameters:
src - multi-dimension array
Returns:
single-dimension array

muxArray

public static Object muxArray(Object src,
                              int[] dims)
Multiplex multi-dimension array (x[][][]) to single-dimension array (x[])

Parameters:
src - multi-dimension array
dims - an array of int.
Returns:
single-dimension array

muxArray

public static Object muxArray(Object src,
                              int[] dims,
                              Class<?> componentType)
Multiplex multi-dimension array (x[][][]) to single-dimension array (x[])

Parameters:
src - multi-dimension array
dims - an array of int.
componentType - a Class object.
Returns:
single-dimension array

muxArray

public static void muxArray(Object src,
                            int[] dims,
                            Object dst)
Multiplexes multi-dimension array into a single-dimension array

Parameters:
src - multi-dimension array
dims - dimensions
dst - single-dimension array

arrayIterator

public static <R> MultiDimensionArrayUtils.ArrayIterator<R> arrayIterator(Object array,
                                                                          int[] dimLens)

arrayIterator.

Type Parameters:
R - a R object.
Parameters:
array - a Object object.
dimLens - an array of int.
Returns:
a MultiDimensionArrayUtils.ArrayIterator object.


Copyright © 2018. All rights reserved.