equal
deleted
inserted
replaced
1578 * Returns true if classes are defined in the same runtime package, false |
1578 * Returns true if classes are defined in the same runtime package, false |
1579 * otherwise. |
1579 * otherwise. |
1580 */ |
1580 */ |
1581 private static boolean packageEquals(Class<?> cl1, Class<?> cl2) { |
1581 private static boolean packageEquals(Class<?> cl1, Class<?> cl2) { |
1582 return (cl1.getClassLoader() == cl2.getClassLoader() && |
1582 return (cl1.getClassLoader() == cl2.getClassLoader() && |
1583 getPackageName(cl1).equals(getPackageName(cl2))); |
1583 cl1.getPackageName().equals(cl2.getPackageName())); |
1584 } |
|
1585 |
|
1586 /** |
|
1587 * Returns package name of given class. |
|
1588 */ |
|
1589 private static String getPackageName(Class<?> cl) { |
|
1590 String s = cl.getName(); |
|
1591 int i = s.lastIndexOf('['); |
|
1592 i = (i < 0) ? 0 : i + 2; |
|
1593 int j = s.lastIndexOf('.'); |
|
1594 return (i < j) ? s.substring(i, j) : ""; |
|
1595 } |
1584 } |
1596 |
1585 |
1597 /** |
1586 /** |
1598 * Compares class names for equality, ignoring package names. Returns true |
1587 * Compares class names for equality, ignoring package names. Returns true |
1599 * if class names equal, false otherwise. |
1588 * if class names equal, false otherwise. |