1 /*--------------------------------------------------------------------------
\r
2 * Copyright 2009 Taro L. Saito
\r
4 * Licensed under the Apache License, Version 2.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
15 *--------------------------------------------------------------------------*/
\r
16 //--------------------------------------
\r
20 // Since: Feb 10, 2009 10:38:10 AM
\r
22 // $URL: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core/src/main/java/org/xerial/util/FileType.java $
\r
24 //--------------------------------------
\r
25 package org.xerial.util;
\r
27 import java.util.ArrayList;
\r
28 import java.util.HashMap;
\r
29 import java.util.List;
\r
32 * File type notation
\r
37 public enum FileType {
\r
66 POWER_POINT("ppt,pptx"),
\r
68 // compressed format
\r
77 private static HashMap<String, FileType> fileTypeTable = new HashMap<String, FileType>();
\r
80 for (FileType eachType : FileType.values())
\r
82 for (String eachExt : eachType.getFileExtList())
\r
83 fileTypeTable.put(eachExt, eachType);
\r
87 private ArrayList<String> fileExtList;
\r
91 fileExtList = new ArrayList<String>(0);
\r
94 private FileType(String fileExtCSV)
\r
96 String[] fileExt = fileExtCSV.split(",\\s*");
\r
97 assert (fileExt != null);
\r
98 fileExtList = new ArrayList<String>(fileExt.length);
\r
99 for (String each : fileExt)
\r
101 fileExtList.add(each);
\r
105 public List<String> getFileExtList()
\r
107 return fileExtList;
\r
111 * Retrieve file type
\r
116 public static FileType getFileTypeFromFileExt(String fileExt)
\r
118 FileType f = fileTypeTable.get(fileExt.toLowerCase());
\r
125 public static FileType getFileType(String filePath)
\r
127 if (filePath.endsWith("tar.gz"))
\r
128 return getFileTypeFromFileExt("tar.gz");
\r
130 int extPos = filePath.lastIndexOf(".");
\r
134 return getFileTypeFromFileExt(filePath.substring(extPos + 1));
\r