| 26 | import org.parosproxy.paros.Constant; |
| 27 | |
| 28 | public class Tech implements Comparable<Tech> { |
| 29 | |
| 30 | // Tech hierarchy inspired by this article: |
| 31 | // http://java.dzone.com/articles/enum-tricks-hierarchical-data |
| 32 | // even though I've gone with a class instead on an enum;) |
| 33 | public static final Tech Db = new Tech("Db", "technologies.db"); |
| 34 | public static final Tech MySQL = new Tech(Db, "MySQL"); |
| 35 | public static final Tech MariaDB = new Tech(Db, "MariaDB"); |
| 36 | public static final Tech PostgreSQL = new Tech(Db, "PostgreSQL"); |
| 37 | public static final Tech MsSQL = new Tech(Db, "Microsoft SQL Server"); |
| 38 | public static final Tech Oracle = new Tech(Db, "Oracle"); |
| 39 | public static final Tech SQLite = new Tech(Db, "SQLite"); |
| 40 | public static final Tech Access = new Tech(Db, "Microsoft Access"); |
| 41 | public static final Tech Firebird = new Tech(Db, "Firebird"); |
| 42 | public static final Tech MaxDB = new Tech(Db, "SAP MaxDB"); |
| 43 | public static final Tech Sybase = new Tech(Db, "Sybase"); |
| 44 | public static final Tech Db2 = new Tech(Db, "IBM DB2"); |
| 45 | public static final Tech HypersonicSQL = new Tech(Db, "HypersonicSQL"); |
| 46 | public static final Tech MongoDB = new Tech(Db, "MongoDB"); |
| 47 | public static final Tech CouchDB = new Tech(Db, "CouchDB"); |
| 48 | |
| 49 | public static final Tech Lang = new Tech("Language", "technologies.lang"); |
| 50 | public static final Tech ASP = new Tech(Lang, "ASP"); |
| 51 | public static final Tech C = new Tech(Lang, "C"); |
| 52 | public static final Tech JAVA = new Tech(Lang, "Java"); |
| 53 | public static final Tech SPRING = new Tech(JAVA, "Spring"); |
| 54 | public static final Tech JAVASCRIPT = new Tech(Lang, "JavaScript"); |
| 55 | public static final Tech JSP_SERVLET = new Tech(Lang, "JSP/Servlet"); |
| 56 | public static final Tech PHP = new Tech(Lang, "PHP"); |
| 57 | public static final Tech PYTHON = new Tech(Lang, "Python"); |
| 58 | public static final Tech RUBY = new Tech(Lang, "Ruby"); |
| 59 | public static final Tech XML = new Tech(Lang, "XML"); |
| 60 | |
| 61 | public static final Tech OS = new Tech("OS", "technologies.os"); |
| 62 | public static final Tech Linux = new Tech(OS, "Linux"); |
| 63 | public static final Tech MacOS = new Tech(OS, "MacOS"); |
| 64 | public static final Tech Windows = new Tech(OS, "Windows"); |
| 65 | |
| 66 | public static final Tech SCM = new Tech("SCM", "technologies.scm"); |
| 67 | public static final Tech Git = new Tech(SCM, "Git"); |
| 68 | public static final Tech SVN = new Tech(SCM, "SVN"); |
| 69 | |
| 70 | public static final Tech WS = new Tech("WS", "technologies.ws"); |
| 71 | public static final Tech Apache = new Tech(WS, "Apache"); |
| 72 | public static final Tech IIS = new Tech(WS, "IIS"); |
| 73 | public static final Tech Tomcat = new Tech(WS, "Tomcat"); |
| 74 | |
| 75 | private static final TreeSet<Tech> allTech = |
| 76 | new TreeSet<>( |
| 77 | Arrays.asList( |
| 78 | Db, |
| 79 | MySQL, |
| 80 | MariaDB, |
| 81 | PostgreSQL, |
| 82 | MsSQL, |
| 83 | Oracle, |
| 84 | SQLite, |
| 85 | Access, |