[LIB-9] Add functional for build image chess diagrams
[chesshog.git] / src / main / java / org / hedgecode / chess / img / ImageFormat.java
index 26954ab..e5122fd 100644 (file)
 
 package org.hedgecode.chess.img;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 import javax.imageio.ImageIO;
 
 /**
@@ -36,6 +40,8 @@ public enum ImageFormat {
     private boolean isRead;
     private boolean isWrite;
 
+    private static String[] allAvailableExts;
+
     ImageFormat(String[] exts) {
         fortmatExts = exts;
         isRead = isExist(
@@ -72,6 +78,17 @@ public enum ImageFormat {
         return null;
     }
 
+    public static String[] getAllExts() {
+        if (allAvailableExts == null) {
+            List<String> listExts = new ArrayList<>();
+            for (ImageFormat imageFormat : ImageFormat.values()) {
+                listExts.addAll(Arrays.asList(imageFormat.getExts()));
+            }
+            allAvailableExts = listExts.toArray(new String[listExts.size()]);
+        }
+        return allAvailableExts;
+    }
+
     private static boolean isExist(String[] names, String... args) {
         for (String arg : args) {
             for (String name : names) {