01: /*
02: * Licensed under the Apache License, Version 2.0 (the "License");
03: * you may not use this file except in compliance with the License.
04: * You may obtain a copy of the License at
05: *
06: * http://www.apache.org/licenses/LICENSE-2.0
07: *
08: * Unless required by applicable law or agreed to in writing, software
09: * distributed under the License is distributed on an "AS IS" BASIS,
10: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11: * See the License for the specific language governing permissions and
12: * limitations under the License.
13: */
14:
15: package org.tp23.antinstaller.runtime.logic;
16:
17: import java.util.Comparator;
18:
19: /**
20: * Compare strings based on their length. Used by ExpressionBuilder to ensure
21: * that longest match is attempted first.
22: *
23: * @author mwilson
24: * @version $Id: StringLengthComparator.java,v 1.1 2006/09/08 19:16:31
25: * anothermwilson Exp $
26: * @since 0.7.4 patch 2
27: */
28:
29: public class StringLengthComparator implements Comparator {
30:
31: /**
32: * Sort by descending String length
33: *
34: * @param o1 first string
35: * @param o2 second string
36: * @return difference between the length of o2 and o1
37: */
38: public int compare(Object o1, Object o2) {
39: String str1 = (String) o1;
40: String str2 = (String) o2;
41: return (str2.length() - str1.length());
42: }
43:
44: }
|