177438dc85b0e7cd7485819a513ab0332d31c532
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / ui / util / PHPFileUtil.java
1 /*
2  * Created on 09.08.2003
3  *
4  */
5 package net.sourceforge.phpdt.internal.ui.util;
6
7 import net.sourceforge.phpeclipse.ui.IPreferenceConstants;
8 import net.sourceforge.phpeclipse.ui.overlaypages.Util;
9
10 import org.eclipse.core.resources.IFile;
11
12 /**
13  * @author khartlage
14  *
15  */
16 public class PHPFileUtil {
17   public final static String[] PHP_EXTENSIONS = {
18       "php",
19       "php3",
20       "php4",
21       "php5",
22       "phtml",
23       "module",  // drupal
24       "inc",
25       "class"
26   };
27   public final static String[] HTML_EXTENSIONS = {
28       "html",
29       "htm",
30       "xhtml"
31   };
32   public final static String[] SMARTY_EXTENSIONS = {
33       "tpl"
34   };
35   
36   public  static boolean isPHPFile(IFile file) {
37     String extension = file.getFileExtension();
38     return isPHPFileName(file.getLocation().toString());
39   }
40
41   public final static String getFileExtension(String name) {
42         int index = name.lastIndexOf('.');
43         if (index == -1)
44                 return null;
45         if (index == (name.length() - 1))
46                 return null; //$NON-NLS-1$
47         return name.substring(index + 1);
48 }
49   
50   /**
51    * Returns true iff str.toLowerCase().endsWith(".php")
52    * implementation is not creating extra strings.
53    */
54   public final static boolean isPHPFileName(String name) {
55     String extension = getFileExtension(name).toLowerCase();
56     if (extension==null) {
57       return false;
58     }
59     for (int i=0;i<PHP_EXTENSIONS.length;i++) {
60       if (extension.equals(PHP_EXTENSIONS[i])) {
61         return true;
62       }
63     }
64     return false;
65   }
66     
67   /**
68    * Returns true iff str.toLowerCase().endsWith(".html")
69    * implementation is not creating extra strings.
70    */
71 //  public final static boolean isHTML_FileName(String name) {
72 //    String extension = getFileExtension(name).toLowerCase();
73 //    if (extension==null) {
74 //      return false;
75 //    }
76 //    for (int i=0;i<HTML_EXTENSIONS.length;i++) {
77 //      if (extension.equals(HTML_EXTENSIONS[i])) {
78 //        return true;
79 //      }
80 //    }
81 //    return false;
82 //  }
83   
84   /**
85    * Returns true iff str.toLowerCase().endsWith(".tpl")
86    * implementation is not creating extra strings.
87    */
88 //  public final static boolean isTPL_FileName(String name) {
89 //    String extension = getFileExtension(name).toLowerCase();
90 //    if (extension==null) {
91 //      return false;
92 //    }
93 //    for (int i=0;i<SMARTY_EXTENSIONS.length;i++) {
94 //      if (extension.equals(SMARTY_EXTENSIONS[i])) {
95 //        return true;
96 //      }
97 //    }
98 //    return false;
99 //  }
100   
101   /**
102          * Returns true iff the file extension is a valid PHP Unit name
103          * implementation is not creating extra strings.
104          */
105         public final static boolean isValidPHPUnitName(String filename) {
106                 return PHPFileUtil.isPHPFileName(filename);
107 //              ||
108 //                     PHPFileUtil.isHTML_FileName(filename) ||
109 //                         PHPFileUtil.isTPL_FileName(filename);
110         }
111 }