KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > module > core > MMObjectDCompare


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.module.core;
11
12 import org.mmbase.util.*;
13
14 /**
15  * MMObjectNodeCompare can me used as a compare function in Sortable
16  * objects from org.mmbase.util (hitlisted)
17  * @deprecated This nearly duplicates MMObjectCompare. If the inverse of a comparable is needed, this can be implemented more genericly. Btw, this is not used.
18  *
19  */

20 public class MMObjectDCompare implements CompareInterface {
21     String JavaDoc compareField;
22
23     public MMObjectDCompare(String JavaDoc fieldName) {
24         compareField = fieldName;
25     }
26
27     public int compare(Object JavaDoc thisOne, Object JavaDoc other) {
28         Object JavaDoc object1;
29         Object JavaDoc object2;
30         int result = 0;
31
32         object1 = ((MMObjectNode)thisOne).getValue(compareField);
33         object2 = ((MMObjectNode)other).getValue(compareField);
34
35         if(object1 instanceof String JavaDoc)
36             result = internalStringCompare(object1, object2);
37         else if(object1 instanceof Integer JavaDoc)
38             result = internalIntCompare(object1, object2);
39
40         return (result);
41     }
42
43     int internalIntCompare(Object JavaDoc thisOne, Object JavaDoc other) {
44         return(((Integer JavaDoc)other).intValue()-((Integer JavaDoc)thisOne).intValue());
45     }
46
47     int internalStringCompare(Object JavaDoc thisOne, Object JavaDoc other) {
48         return(((String JavaDoc)other).compareTo((String JavaDoc)thisOne));
49     }
50 }
51
Popular Tags