1 11 package org.eclipse.jdt.internal.ui.browsing; 12 13 import java.util.Comparator ; 14 15 import org.eclipse.jdt.core.IJavaElement; 16 17 public class JavaElementTypeComparator implements Comparator { 18 19 20 29 public int compare(Object o1, Object o2) { 30 if (!(o1 instanceof IJavaElement) || !(o2 instanceof IJavaElement)) 31 throw new ClassCastException (); 32 return getIdForJavaElement((IJavaElement)o1) - getIdForJavaElement((IJavaElement)o2); 33 } 34 35 44 public int compare(Object o1, int elementType) { 45 if (!(o1 instanceof IJavaElement)) 46 throw new ClassCastException (); 47 return getIdForJavaElement((IJavaElement)o1) - getIdForJavaElementType(elementType); 48 } 49 50 int getIdForJavaElement(IJavaElement element) { 51 return getIdForJavaElementType(element.getElementType()); 52 } 53 54 int getIdForJavaElementType(int elementType) { 55 switch (elementType) { 56 case IJavaElement.JAVA_MODEL: 57 return 130; 58 case IJavaElement.JAVA_PROJECT: 59 return 120; 60 case IJavaElement.PACKAGE_FRAGMENT_ROOT: 61 return 110; 62 case IJavaElement.PACKAGE_FRAGMENT: 63 return 100; 64 case IJavaElement.COMPILATION_UNIT: 65 return 90; 66 case IJavaElement.CLASS_FILE: 67 return 80; 68 case IJavaElement.TYPE: 69 return 70; 70 case IJavaElement.FIELD: 71 return 60; 72 case IJavaElement.METHOD: 73 return 50; 74 case IJavaElement.INITIALIZER: 75 return 40; 76 case IJavaElement.PACKAGE_DECLARATION: 77 return 30; 78 case IJavaElement.IMPORT_CONTAINER: 79 return 20; 80 case IJavaElement.IMPORT_DECLARATION: 81 return 10; 82 default : 83 return 1; 84 } 85 } 86 } 87 | Popular Tags |