JAL-4206 Use All Known Alignment Files as default until a file is loaded
[jalview.git] / src / jalview / util / ArrayUtils.java
index 92085c3..8142f8a 100644 (file)
@@ -1,5 +1,27 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.util;
 
+import java.util.Arrays;
+
 public class ArrayUtils
 {
   /**
@@ -24,4 +46,27 @@ public class ArrayUtils
       }
     }
   }
+
+  public static <T> T[] concatArrays(T[]... arrays)
+  {
+    if (arrays == null)
+      return null;
+    if (arrays.length == 1)
+      return arrays[0];
+
+    T[] result = arrays[0];
+    for (int i = 1; i < arrays.length; i++)
+    {
+      result = concatTwoArrays(result, arrays[i]);
+    }
+    return result;
+  }
+
+  private static <T> T[] concatTwoArrays(T[] array1, T[] array2)
+  {
+    T[] result = Arrays.copyOf(array1, array1.length + array2.length);
+    System.arraycopy(array2, 0, result, array1.length, array2.length);
+    return result;
+  }
+
 }