001    /*
002     * $Id: ArrayUtil.java 3681 2011-07-12 13:55:10Z kredel $
003     */
004    
005    package 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     */
017    public 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    }