~s-friedemann/tomdroid/sshfs

« back to all changes in this revision

Viewing changes to lib/commons-codec-1.4/apidocs/src-html/org/apache/commons/codec/StringEncoderComparator.html

  • Committer: Benoit Garret
  • Date: 2010-03-06 20:39:56 UTC
  • mto: (185.4.1 sync-ui)
  • mto: This revision was merged to the branch mainline in revision 186.
  • Revision ID: benoit.garret_launchpad@gadz.org-20100306203956-k6vlss6hk2d91j4n
Put the signpost and commons-codec libraries in lib/

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<HTML>
 
2
<BODY BGCOLOR="white">
 
3
<PRE>
 
4
<FONT color="green">001</FONT>    /*<a name="line.1"></a>
 
5
<FONT color="green">002</FONT>     * Licensed to the Apache Software Foundation (ASF) under one or more<a name="line.2"></a>
 
6
<FONT color="green">003</FONT>     * contributor license agreements.  See the NOTICE file distributed with<a name="line.3"></a>
 
7
<FONT color="green">004</FONT>     * this work for additional information regarding copyright ownership.<a name="line.4"></a>
 
8
<FONT color="green">005</FONT>     * The ASF licenses this file to You under the Apache License, Version 2.0<a name="line.5"></a>
 
9
<FONT color="green">006</FONT>     * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
 
10
<FONT color="green">007</FONT>     * the License.  You may obtain a copy of the License at<a name="line.7"></a>
 
11
<FONT color="green">008</FONT>     * <a name="line.8"></a>
 
12
<FONT color="green">009</FONT>     *      http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
 
13
<FONT color="green">010</FONT>     * <a name="line.10"></a>
 
14
<FONT color="green">011</FONT>     * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
 
15
<FONT color="green">012</FONT>     * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
 
16
<FONT color="green">013</FONT>     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
 
17
<FONT color="green">014</FONT>     * See the License for the specific language governing permissions and<a name="line.14"></a>
 
18
<FONT color="green">015</FONT>     * limitations under the License.<a name="line.15"></a>
 
19
<FONT color="green">016</FONT>     */<a name="line.16"></a>
 
20
<FONT color="green">017</FONT>    <a name="line.17"></a>
 
21
<FONT color="green">018</FONT>    package org.apache.commons.codec;<a name="line.18"></a>
 
22
<FONT color="green">019</FONT>    <a name="line.19"></a>
 
23
<FONT color="green">020</FONT>    import java.util.Comparator;<a name="line.20"></a>
 
24
<FONT color="green">021</FONT>    <a name="line.21"></a>
 
25
<FONT color="green">022</FONT>    /**<a name="line.22"></a>
 
26
<FONT color="green">023</FONT>     * Strings are comparable, and this comparator allows <a name="line.23"></a>
 
27
<FONT color="green">024</FONT>     * you to configure it with an instance of a class<a name="line.24"></a>
 
28
<FONT color="green">025</FONT>     * which implements StringEncoder.  This comparator<a name="line.25"></a>
 
29
<FONT color="green">026</FONT>     * is used to sort Strings by an encoding scheme such<a name="line.26"></a>
 
30
<FONT color="green">027</FONT>     * as Soundex, Metaphone, etc.  This class can come in<a name="line.27"></a>
 
31
<FONT color="green">028</FONT>     * handy if one need to sort Strings by an encoded<a name="line.28"></a>
 
32
<FONT color="green">029</FONT>     * form of a name such as Soundex.<a name="line.29"></a>
 
33
<FONT color="green">030</FONT>     *<a name="line.30"></a>
 
34
<FONT color="green">031</FONT>     * @author Apache Software Foundation<a name="line.31"></a>
 
35
<FONT color="green">032</FONT>     * @version $Id: StringEncoderComparator.java 793391 2009-07-12 18:38:08Z ggregory $<a name="line.32"></a>
 
36
<FONT color="green">033</FONT>     */<a name="line.33"></a>
 
37
<FONT color="green">034</FONT>    public class StringEncoderComparator implements Comparator {<a name="line.34"></a>
 
38
<FONT color="green">035</FONT>    <a name="line.35"></a>
 
39
<FONT color="green">036</FONT>        /**<a name="line.36"></a>
 
40
<FONT color="green">037</FONT>         * Internal encoder instance.<a name="line.37"></a>
 
41
<FONT color="green">038</FONT>         */<a name="line.38"></a>
 
42
<FONT color="green">039</FONT>        private final StringEncoder stringEncoder;<a name="line.39"></a>
 
43
<FONT color="green">040</FONT>    <a name="line.40"></a>
 
44
<FONT color="green">041</FONT>        /**<a name="line.41"></a>
 
45
<FONT color="green">042</FONT>         * Constructs a new instance.<a name="line.42"></a>
 
46
<FONT color="green">043</FONT>         * @deprecated as creating without a StringEncoder will lead to a <a name="line.43"></a>
 
47
<FONT color="green">044</FONT>         *             broken NullPointerException creating comparator.<a name="line.44"></a>
 
48
<FONT color="green">045</FONT>         */<a name="line.45"></a>
 
49
<FONT color="green">046</FONT>        public StringEncoderComparator() {<a name="line.46"></a>
 
50
<FONT color="green">047</FONT>            this.stringEncoder = null;   // Trying to use this will cause things to break<a name="line.47"></a>
 
51
<FONT color="green">048</FONT>        }<a name="line.48"></a>
 
52
<FONT color="green">049</FONT>    <a name="line.49"></a>
 
53
<FONT color="green">050</FONT>        /**<a name="line.50"></a>
 
54
<FONT color="green">051</FONT>         * Constructs a new instance with the given algorithm.<a name="line.51"></a>
 
55
<FONT color="green">052</FONT>         * @param stringEncoder the StringEncoder used for comparisons.<a name="line.52"></a>
 
56
<FONT color="green">053</FONT>         */<a name="line.53"></a>
 
57
<FONT color="green">054</FONT>        public StringEncoderComparator(StringEncoder stringEncoder) {<a name="line.54"></a>
 
58
<FONT color="green">055</FONT>            this.stringEncoder = stringEncoder;<a name="line.55"></a>
 
59
<FONT color="green">056</FONT>        }<a name="line.56"></a>
 
60
<FONT color="green">057</FONT>    <a name="line.57"></a>
 
61
<FONT color="green">058</FONT>        /**<a name="line.58"></a>
 
62
<FONT color="green">059</FONT>         * Compares two strings based not on the strings <a name="line.59"></a>
 
63
<FONT color="green">060</FONT>         * themselves, but on an encoding of the two <a name="line.60"></a>
 
64
<FONT color="green">061</FONT>         * strings using the StringEncoder this Comparator<a name="line.61"></a>
 
65
<FONT color="green">062</FONT>         * was created with.<a name="line.62"></a>
 
66
<FONT color="green">063</FONT>         * <a name="line.63"></a>
 
67
<FONT color="green">064</FONT>         * If an {@link EncoderException} is encountered, return &lt;code&gt;0&lt;/code&gt;.<a name="line.64"></a>
 
68
<FONT color="green">065</FONT>         * <a name="line.65"></a>
 
69
<FONT color="green">066</FONT>         * @param o1 the object to compare<a name="line.66"></a>
 
70
<FONT color="green">067</FONT>         * @param o2 the object to compare to<a name="line.67"></a>
 
71
<FONT color="green">068</FONT>         * @return the Comparable.compareTo() return code or 0 if an encoding error was caught.<a name="line.68"></a>
 
72
<FONT color="green">069</FONT>         * @see Comparable<a name="line.69"></a>
 
73
<FONT color="green">070</FONT>         */<a name="line.70"></a>
 
74
<FONT color="green">071</FONT>        public int compare(Object o1, Object o2) {<a name="line.71"></a>
 
75
<FONT color="green">072</FONT>    <a name="line.72"></a>
 
76
<FONT color="green">073</FONT>            int compareCode = 0;<a name="line.73"></a>
 
77
<FONT color="green">074</FONT>    <a name="line.74"></a>
 
78
<FONT color="green">075</FONT>            try {<a name="line.75"></a>
 
79
<FONT color="green">076</FONT>                Comparable s1 = (Comparable) this.stringEncoder.encode(o1);<a name="line.76"></a>
 
80
<FONT color="green">077</FONT>                Comparable s2 = (Comparable) this.stringEncoder.encode(o2);<a name="line.77"></a>
 
81
<FONT color="green">078</FONT>                compareCode = s1.compareTo(s2);<a name="line.78"></a>
 
82
<FONT color="green">079</FONT>            } <a name="line.79"></a>
 
83
<FONT color="green">080</FONT>            catch (EncoderException ee) {<a name="line.80"></a>
 
84
<FONT color="green">081</FONT>                compareCode = 0;<a name="line.81"></a>
 
85
<FONT color="green">082</FONT>            }<a name="line.82"></a>
 
86
<FONT color="green">083</FONT>            return compareCode;<a name="line.83"></a>
 
87
<FONT color="green">084</FONT>        }<a name="line.84"></a>
 
88
<FONT color="green">085</FONT>    <a name="line.85"></a>
 
89
<FONT color="green">086</FONT>    }<a name="line.86"></a>
 
90
 
 
91
 
 
92
 
 
93
 
 
94
 
 
95
 
 
96
 
 
97
 
 
98
 
 
99
 
 
100
 
 
101
 
 
102
 
 
103
 
 
104
 
 
105
 
 
106
 
 
107
 
 
108
 
 
109
 
 
110
 
 
111
 
 
112
 
 
113
 
 
114
 
 
115
 
 
116
 
 
117
 
 
118
 
 
119
 
 
120
 
 
121
 
 
122
 
 
123
 
 
124
 
 
125
 
 
126
 
 
127
 
 
128
 
 
129
 
 
130
 
 
131
 
 
132
 
 
133
 
 
134
 
 
135
 
 
136
 
 
137
 
 
138
 
 
139
 
 
140
 
 
141
 
 
142
 
 
143
 
 
144
 
 
145
 
 
146
 
 
147
 
 
148
 
 
149
 
 
150
</PRE>
 
151
</BODY>
 
152
</HTML>