Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: com/webobjects/woextensions/_ClassNameComparator.java


1   /*
2    * _ClassNameComparator.java
3    * © Copyright 2001 Apple Computer, Inc. All rights reserved.
4    * This a modified version.
5    * Original license: http://www.opensource.apple.com/apsl/
6    */
7   
8   package com.webobjects.woextensions;
9   
10  import com.webobjects.appserver.*;
11  import com.webobjects.foundation.*;
12  import com.webobjects.eocontrol.*;
13  
14  public class _ClassNameComparator extends NSComparator {
15      protected boolean _compareAscending;
16  
17      public _ClassNameComparator(NSSelector comparator) {
18          super();
19          _compareAscending = (comparator == EOSortOrdering.CompareAscending) ;
20      }
21  
22      public int compare(Object c1, Object c2) throws NSComparator.ComparisonException {
23          if (!(c1 instanceof Class) || !(c2 instanceof Class) || (c1 == null) || (c2 == null))
24              throw new NSComparator.ComparisonException("<"+getClass().getName()+" Unable to compare classes. Either one of the arguments is not a Class or is null. Comparison was made with " + c1 + " and " + c2 + "." );
25  
26          Class class1, class2;
27          class1 = (Class)c1;
28          class2 = (Class)c2;
29          
30          int result = class1.getName().compareTo(class2.getName());
31          if (result == 0) {
32              return result;
33          }
34          if (!_compareAscending) {
35              result = 0 - result;
36          }
37          return result > 0 ? 1 : -1;
38      }
39  }