schmitzm.lang
Class MultiDimArray

java.lang.Object
  extended by schmitzm.lang.MultiDimArray

public class MultiDimArray
extends Object

Diese Klasse stellt ein Pendant zur Klasse Array und stellt direkten Element-Zugriff fuer mehrdimensionales Arrays zur Verfuegung.
Bemerke:
Leider kann diese Klasse nicht von java.lang.reflect.Array abgeleitet werden, da diese als final deklariert ist!!

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Array

Constructor Summary
MultiDimArray()
           
 
Method Summary
static Object get(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array.
static boolean getBoolean(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als boolean.
static byte getByte(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als byte.
static char getChar(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als char.
static int getDimension(Object array)
          Liefert die Dimension des Arrays.
static double getDouble(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als double.
static float getFloat(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als float.
static int getInt(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als int.
static int[] getLength(Object array)
          Liefert die Groesse des Arrays in allen Dimensionen.
static int getLength(Object array, int dim)
          Liefert die Groesse des Arrays in der angegebenen Dimension.
static long getLong(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als long.
static short getShort(Object array, int[] c)
          Liefert ein Object aus einem mehrdimensionalen Array als short.
static Object newInstance(Class componentType, int[] size)
          Erzeugt einen neuen mehrdimensionalen Array.
static void set(Object array, int[] c, Object v)
          Setzt eine Koordinate in einem mehrdimensionalen Array.
static void setBoolean(Object array, int[] c, boolean v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als boolean.
static void setByte(Object array, int[] c, byte v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als byte.
static void setChar(Object array, int[] c, char v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als char.
static void setDouble(Object array, int[] c, double v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als double.
static void setFloat(Object array, int[] c, float v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als float.
static void setInt(Object array, int[] c, int v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als int.
static void setLong(Object array, int[] c, long v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als long.
static void setShort(Object array, int[] c, short v)
          Setzt eine Koordinate in einem mehrdimensionalen Array als short.
static Object wrapToNativeArray(Object multiDimArray)
          Erzeugt einen native Object[]...[] aus einem MultiDimArray.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiDimArray

public MultiDimArray()
Method Detail

newInstance

public static Object newInstance(Class componentType,
                                 int[] size)
Erzeugt einen neuen mehrdimensionalen Array. Ist aequivalent zu java.lang.reflect.Array.newInstance(Class,int[]).

Parameters:
componentType - Typ, den der Array speichern kann. Kann auch ein build-in-Type sein (z.B. int.class)
size - Groesse des Arrays in allen Dimensionen
See Also:
Array.newInstance(Class,int[])

wrapToNativeArray

public static Object wrapToNativeArray(Object multiDimArray)
Erzeugt einen native Object[]...[] aus einem MultiDimArray.

Parameters:
multiDimArray - ein ueber MultiDimArray#newInstance(.) oder Array.newInstance(.) erzeugter Array
Returns:
ein Object[]...[]

getDimension

public static int getDimension(Object array)
Liefert die Dimension des Arrays.

Parameters:
array - ein Array

getLength

public static int[] getLength(Object array)
Liefert die Groesse des Arrays in allen Dimensionen.

Parameters:
array - ein Array

getLength

public static int getLength(Object array,
                            int dim)
Liefert die Groesse des Arrays in der angegebenen Dimension.

Parameters:
array - ein Array
dim - Index einer Dimension (beginnend bei 0!)

get

public static Object get(Object array,
                         int[] c)
Liefert ein Object aus einem mehrdimensionalen Array.

Parameters:
array - ein Array
c - Koordinate

getBoolean

public static boolean getBoolean(Object array,
                                 int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als boolean.

Parameters:
array - ein Array
c - Koordinate

getByte

public static byte getByte(Object array,
                           int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als byte.

Parameters:
array - ein Array
c - Koordinate

getChar

public static char getChar(Object array,
                           int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als char.

Parameters:
array - ein Array
c - Koordinate

getDouble

public static double getDouble(Object array,
                               int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als double.

Parameters:
array - ein Array
c - Koordinate

getFloat

public static float getFloat(Object array,
                             int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als float.

Parameters:
array - ein Array
c - Koordinate

getInt

public static int getInt(Object array,
                         int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als int.

Parameters:
array - ein Array
c - Koordinate

getLong

public static long getLong(Object array,
                           int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als long.

Parameters:
array - ein Array
c - Koordinate

getShort

public static short getShort(Object array,
                             int[] c)
Liefert ein Object aus einem mehrdimensionalen Array als short.

Parameters:
array - ein Array
c - Koordinate

set

public static void set(Object array,
                       int[] c,
                       Object v)
Setzt eine Koordinate in einem mehrdimensionalen Array.

Parameters:
array - ein Array
c - Koordinate
v - Objekt, da an die Koordinate gesetzt wird

setBoolean

public static void setBoolean(Object array,
                              int[] c,
                              boolean v)
Setzt eine Koordinate in einem mehrdimensionalen Array als boolean.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setByte

public static void setByte(Object array,
                           int[] c,
                           byte v)
Setzt eine Koordinate in einem mehrdimensionalen Array als byte.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setChar

public static void setChar(Object array,
                           int[] c,
                           char v)
Setzt eine Koordinate in einem mehrdimensionalen Array als char.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setDouble

public static void setDouble(Object array,
                             int[] c,
                             double v)
Setzt eine Koordinate in einem mehrdimensionalen Array als double.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setFloat

public static void setFloat(Object array,
                            int[] c,
                            float v)
Setzt eine Koordinate in einem mehrdimensionalen Array als float.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setInt

public static void setInt(Object array,
                          int[] c,
                          int v)
Setzt eine Koordinate in einem mehrdimensionalen Array als int.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setLong

public static void setLong(Object array,
                           int[] c,
                           long v)
Setzt eine Koordinate in einem mehrdimensionalen Array als long.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert

setShort

public static void setShort(Object array,
                            int[] c,
                            short v)
Setzt eine Koordinate in einem mehrdimensionalen Array als short.

Parameters:
array - ein Array
c - Koordinate
v - neuer Wert