1 2 package net/sourceforge/pmd/package-summary.html">> net.sourceforge.pmd; 3 4 /*** 5 * Enumeration of the types of source code. 6 * 7 * @author Pieter_Van_Raemdonck - Application Engineers NV/SA - www.ae.be 8 */ 9 public final class SourceType implements Comparable { 10 public static final SourceType JAVA_13 = new SourceType("java 1.3"); 11 public static final SourceType JAVA_14 = new SourceType("java 1.4"); 12 public static final SourceType JAVA_15 = new SourceType("java 1.5"); 13 public static final SourceType JAVA_16 = new SourceType("java 1.6"); 14 public static final SourceType JSP = new SourceType("jsp"); 15 16 private static SourceType[] sourceTypes = new SourceType[]{JAVA_13, JAVA_14, JAVA_15, JAVA_16, JSP}; 17 18 private String id; 19 20 /*** 21 * Private constructor. 22 */ 23 private SourceType(String id) { 24 this.id = id; 25 } 26 27 public String getId() { 28 return id; 29 } 30 31 /*** 32 * Get the SourceType for a certain Id. Case insensitive. 33 * 34 * @return null if not found 35 */ 36 public static SourceType getSourceTypeForId(String id) { 37 for (int i = 0; i < sourceTypes.length; i++) { 38 if (sourceTypes[i].getId().equalsIgnoreCase(id)) { 39 return sourceTypes[i]; 40 } 41 } 42 return null; 43 } 44 45 public boolean equals(Object other) { 46 if (other instanceof SourceType) { 47 return ((SourceType) other).getId().equals(getId()); 48 } 49 50 return false; 51 } 52 53 public int hashCode() { 54 return getId().hashCode(); 55 } 56 57 public int compareTo(Object other) { 58 return getId().compareTo(((SourceType) other).getId()); 59 } 60 61 public String toString() { 62 return "SourceType [" + getId() + "]"; 63 } 64 }