001/*
002 * $Id: ArrayUtil.java 3681 2011-07-12 13:55:10Z kredel $
003 */
004
005package edu.jas.util;
006
007
008//import org.apache.log4j.Logger;
009
010
011/**
012 * Array utilities.
013 * For example copyOf from Java 6.
014 * <b>Note:</b> unused at the moment since it is not working in Java 5.
015 * @author Heinz Kredel
016 */
017public class ArrayUtil {
018
019
020    //private static final Logger logger = Logger.getLogger(ArrayUtil.class);
021    // private static boolean debug = logger.isDebugEnabled();
022
023
024    /** 
025     * Copy the specified array.
026     * @param original array.
027     * @param newLength new array length.
028     * @return copy of original.
029     */
030    public static <T> T[] copyOf(T[] original, int newLength) {
031        T[] copy = (T[]) new Object[newLength];
032        System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength));
033        return copy;
034    }
035
036
037    /**
038     * Copy the specified array.
039     * @param original array.
040     * @return copy of original.
041     */
042    public static <T> T[] copyOf(T[] original) {
043        return (T[]) copyOf(original,original.length);
044    }
045
046}