KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > archive > crawler > settings > TextField


1 /* TextType
2  *
3  * $Id: TextField.java,v 1.4 2005/09/01 18:13:23 stack-sf Exp $
4  *
5  * Created on Mar 26, 2004
6  *
7  * Copyright (C) 2004 Internet Archive.
8  *
9  * This file is part of the Heritrix web crawler (crawler.archive.org).
10  *
11  * Heritrix is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser Public License as published by
13  * the Free Software Foundation; either version 2.1 of the License, or
14  * any later version.
15  *
16  * Heritrix is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Lesser Public License for more details.
20  *
21  * You should have received a copy of the GNU Lesser Public License
22  * along with Heritrix; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
24  */

25 package org.archive.crawler.settings;
26
27 import java.io.Serializable JavaDoc;
28
29 import org.archive.util.TextUtils;
30
31 /** Class to hold values for text fields.
32  *
33  * Objects of this class could be used instead of {@link java.lang.String} to
34  * hold text strings with newlines in it. SimpleTypes with values wrapped in
35  * objects of this class will show up in the UI as multiline text areas.
36  *
37  * @author John Erik Halse
38  *
39  */

40 public class TextField implements CharSequence JavaDoc, Serializable JavaDoc {
41     private static final long serialVersionUID = -2853908867414076703L;
42     private String JavaDoc value;
43
44     /** Constructs a new TextField object.
45      *
46      * @param value the string represented by this TextField.
47      */

48     public TextField(String JavaDoc value) {
49         this.value = TextUtils.replaceAll("\r\n", value, "\n").trim();
50     }
51
52     /* (non-Javadoc)
53      * @see java.lang.CharSequence#length()
54      */

55     public int length() {
56         return value.length();
57     }
58
59     /* (non-Javadoc)
60      * @see java.lang.CharSequence#charAt(int)
61      */

62     public char charAt(int index) {
63         return value.charAt(index);
64     }
65
66     /* (non-Javadoc)
67      * @see java.lang.CharSequence#subSequence(int, int)
68      */

69     public CharSequence JavaDoc subSequence(int start, int end) {
70         return value.subSequence(start, end);
71     }
72
73     public boolean equals(Object JavaDoc obj) {
74         return obj instanceof TextField && value.equals(obj);
75     }
76
77     /* (non-Javadoc)
78      * @see java.lang.Object#hashCode()
79      */

80     public int hashCode() {
81         return value.hashCode();
82     }
83
84     /* (non-Javadoc)
85      * @see java.lang.Object#toString()
86      */

87     public String JavaDoc toString() {
88         return value;
89     }
90 }
91
Popular Tags