1 41 package org.jfree.xml.factory.objects; 42 43 import java.io.Serializable ; 44 import java.util.Comparator ; 45 46 54 public class ClassComparator implements Comparator , Serializable { 55 56 59 public ClassComparator() { 60 super(); 61 } 62 63 97 public int compare(final Object o1, final Object o2) { 98 final Class c1 = (Class ) o1; 99 final Class c2 = (Class ) o2; 100 if (c1.equals(o2)) { 101 return 0; 102 } 103 if (c1.isAssignableFrom(c2)) { 104 return -1; 105 } 106 else { 107 if (!c2.isAssignableFrom(c2)) { 108 throw new IllegalArgumentException ("The classes share no relation"); 109 } 110 return 1; 111 } 112 } 113 114 122 public boolean isComparable(final Class c1, final Class c2) { 123 return (c1.isAssignableFrom(c2) || c2.isAssignableFrom(c1)); 124 } 125 } 126 | Popular Tags |