Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jstacs.io
Class ArrayHandler

    java.lang.Object
      de.jstacs.io.ArrayHandler

    public final class ArrayHandler

extends Object

This class enables the user to cast and clone arrays easily.

Author:
  Jens Keilwagen

Constructor Summary
`ArrayHandler()`

Method Summary
`static
`<T> T[]`
` | `cast(T... o)` This method creates a new array of the super class of all elements of the given array and copies the elements.
`static
`<T extends Cloneable> T[]`
` | `clone(T... t)` This method returns a deep copy of an array, i.e. for each element of the array the clone method will be invoked.
`static
`<T> Class`
` | `getSuperClassOf(T... o)` This method returns the deepest class in the class hierarchy that is the class or a super class of all instances in the array.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ArrayHandler

    public ArrayHandler()

Method Detail

### getSuperClassOf

    public static <T> Class getSuperClassOf(T... o)

  This method returns the deepest class in the class hierarchy that is the class or a super class of all instances in the array.

  Parameters:
    `o` - the array
  Returns:
    the super class of all elements of the given array

### cast

    public static <T> T[] cast(T... o)

  This method creates a new array of the super class of all elements of the given array and copies the elements. The order of the elements is not changed.
  Here is an example that demonstrates what can be done:
  `Object[] o = { new UniformModel( alphabetContainer ), new UniformModel( alphabetContainer ) };
  AbstractModel[] a = (AbstractModel[]) ArrayHandler.cast( o );
  ` This should work fine, while
  `AbstractModel[] a = (AbstractModel[]) o;`
  will not.

  Parameters:
    `o` - the array
  Returns:
    the casted array with the copied elements
  See Also:
    `getSuperClassOf(Object[])`, `XMLParser.extractStorableArrayForTag(StringBuffer, String, String)`

### clone

    public static <T extends Cloneable> T[] clone(T... t)
                                       throws CloneNotSupportedException

  This method returns a deep copy of an array, i.e. for each element of the array the clone method will be invoked.

  Type Parameters:
    `T` - the class that implements `Cloneable`
  Parameters:
    `t` - the array
  Returns:
    a deep copy of the given array
  Throws:
    `CloneNotSupportedException` - if an element could not be cloned.
  See Also:
    `Cloneable`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD