View Javadoc

1   /* StringList
2    *
3    * $Id: StringList.java 4648 2006-09-25 16:25:53Z paul_jack $
4    * Created on Dec 18, 2003
5    *
6    * Copyright (C) 2003 Internet Archive.
7    *
8    * This file is part of the Heritrix web crawler (crawler.archive.org).
9    *
10   * Heritrix is free software; you can redistribute it and/or modify
11   * it under the terms of the GNU Lesser Public License as published by
12   * the Free Software Foundation; either version 2.1 of the License, or
13   * any later version.
14   *
15   * Heritrix is distributed in the hope that it will be useful,
16   * but WITHOUT ANY WARRANTY; without even the implied warranty of
17   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18   * GNU Lesser Public License for more details.
19   *
20   * You should have received a copy of the GNU Lesser Public License
21   * along with Heritrix; if not, write to the Free Software
22   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23   */
24  package org.archive.crawler.settings;
25  
26  /*** List of String values.
27   *
28   * @author John Erik Halse
29   */
30  public class StringList extends ListType<String> {
31  
32      private static final long serialVersionUID = 3181868189684416390L;
33  
34      /*** Creates a new StringList.
35       *
36       * @param name of the list.
37       * @param description of the list. This string should be suitable for using
38       *        in a user interface.
39       */
40      public StringList(String name, String description) {
41          super(name, description);
42      }
43  
44      /*** Creates a new StringList and initializes it with the values from
45       * another StringList.
46       *
47       * @param name of the list.
48       * @param description of the list. This string should be suitable for using
49       *        in a user interface.
50       * @param l
51       */
52      public StringList(String name, String description, StringList l) {
53          super(name, description);
54          addAll(l);
55      }
56  
57      /*** Creates a new StringList and initializes it with the values from
58       * an array of Strings.
59       *
60       * @param name of the list.
61       * @param description of the list. This string should be suitable for using
62       * in a user interface.
63       * @param l the array from which this lists gets its initial values.
64       */
65      public StringList(String name, String description, String[] l) {
66          super(name, description);
67          addAll(l);
68      }
69  
70      /*** Add a new {@link java.lang.String} at the specified index to this list.
71       *
72       * @param index index at which the specified element is to be inserted.
73       * @param element the value to be added.
74       */
75      public void add(int index, String element) {
76          super.add(index, element);
77      }
78  
79      /*** Add a new {@link java.lang.String} at the end of this list.
80       *
81       * @param element the value to be added.
82       */
83      public void add(String element) {
84          super.add(element);
85      }
86  
87      /*** Appends all of the elements in the specified list to the end of this
88       * list, in the order that they are returned by the specified lists's
89       * iterator.
90       *
91       * The behavior of this operation is unspecified if the specified
92       * collection is modified while the operation is in progress.
93       *
94       * @param l list whose elements are to be added to this list.
95       */
96      public void addAll(StringList l) {
97          super.addAll(l);
98      }
99  
100     /*** Appends all of the elements in the specified array to the end of this
101      * list, in the same order that they are in the array.
102      *
103      * @param l array whose elements are to be added to this list.
104      */
105     public void addAll(String[] l) {
106         for (int i = 0; i < l.length; i++) {
107             add(l[i]);
108         }
109     }
110 
111     /*** Replaces the element at the specified position in this list with the
112      *  specified element.
113      *
114      * @param index index at which the specified element is to be inserted.
115      * @param element element to be inserted.
116      * @return the element previously at the specified position.
117      */
118     public String set(int index, String element) {
119         return (String) super.set(index, element);
120     }
121 
122     /*** Check if element is of right type for this list.
123      *
124      * @param element element to check.
125      * @return element of the right type.
126      * @throws ClassCastException is thrown if the element was of wrong type
127      *         and could not be converted.
128      */
129     public String checkType(Object element) throws ClassCastException {
130         return (String)element;
131     }
132 }