1 package org.apache.maven.jxr.util;
2
3 /*
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
19 * under the License.
20 */
21
22 /**
23 * A StringEntry represents a value found by the tokenizer. The index is where
24 * this StringEntry was found in the source string
25 */
26 public class StringEntry
27 implements Comparable
28 {
29
30 private String value = null;
31
32 private int index = 0;
33
34 /**
35 * Constructor for the StringEntry object
36 *
37 * @param value
38 * @param index
39 */
40 public StringEntry( String value, int index )
41 {
42
43 this.value = value;
44 this.index = index;
45 }
46
47 /**
48 * Gets the index attribute of the StringEntry object
49 */
50 public int getIndex()
51 {
52 return this.index;
53 }
54
55 /**
56 * Description of the Method
57 */
58 public String toString()
59 {
60 return this.value;
61 }
62
63 /**
64 * Compare two objects for equality.
65 */
66 public int compareTo( Object obj )
67 {
68 //right now only sort by the index.
69
70 if ( obj instanceof StringEntry == false )
71 {
72
73 throw new IllegalArgumentException( "object must be a StringEntry" );
74 }
75
76 StringEntry se = (StringEntry) obj;
77
78 if ( se.getIndex() < this.getIndex() )
79 {
80 return -1;
81 }
82 else if ( se.getIndex() == this.getIndex() )
83 {
84 return 0;
85 }
86 else
87 {
88 return 1;
89 }
90
91 }
92
93 }
94