View Javadoc

    1   /* LongList
    2    *
    3    * $Id: LongList.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 Long values
    27   *
    28   * @author John Erik Halse
    29   */
    30  public class LongList extends ListType<Long> {
    31
    32      private static final long serialVersionUID = -7542494945185808903L;
    33
    34      /*** Creates a new LongList.
    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 LongList(String name, String description) {
    41          super(name, description);
    42      }
    43
    44      /*** Creates a new LongList and initializes it with the values from
    45       * another LongList.
    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 the list from which this lists gets its initial values.
    51       */
    52      public LongList(String name, String description, LongList l) {
    53          super(name, description);
    54          addAll(l);
    55      }
    56
    57      /*** Creates a new LongList and initializes it with the values from
    58       * an array of {@link java.lang.Long}.
    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 LongList(String name, String description, Long[] l) {
    66          super(name, description);
    67          addAll(l);
    68      }
    69
    70      /*** Creates a new LongList and initializes it with the values from
    71       * an array of long.
    72       *
    73       * @param name of the list.
    74       * @param description of the list. This string should be suitable for using
    75       *        in a user interface.
    76       * @param l the array from which this lists gets its initial values.
    77       */
    78      public LongList(String name, String description, long[] l) {
    79          super(name, description);
    80          addAll(l);
    81      }
    82
    83      /*** Add a new {@link java.lang.Long} at the specified index to this list.
    84       *
    85       * @param index index at which the specified element is to be inserted.
    86       * @param element the value to be added.
    87       */
    88      public void add(int index, Long element) {
    89          super.add(index, element);
    90      }
    91
    92      /*** Add a new <code>long</code> at the specified index to this list.
    93       *
    94       * @param index index at which the specified element is to be inserted.
    95       * @param element the value to be added.
    96       */
    97      public void add(int index, long element) {
    98          super.add(index, new Long(element));
    99      }
    100
    101     /*** Add a new {@link java.lang.Long} at the end of this list.
    102      *
    103      * @param element the value to be added.
    104      */
    105     public void add(Long element) {
    106         super.add(element);
    107     }
    108
    109     /*** Add a new long at the end of this list.
    110      *
    111      * @param element the value to be added.
    112      */
    113     public void add(long element) {
    114         super.add(new Long(element));
    115     }
    116
    117     /*** Appends all of the elements in the specified list to the end of this
    118      * list, in the order that they are returned by the specified lists's
    119      * iterator.
    120      *
    121      * The behavior of this operation is unspecified if the specified
    122      * collection is modified while the operation is in progress.
    123      *
    124      * @param l list whose elements are to be added to this list.
    125      */
    126     public void addAll(LongList l) {
    127         super.addAll(l);
    128     }
    129
    130     /*** Appends all of the elements in the specified array to the end of this
    131      * list, in the same order that they are in the array.
    132      *
    133      * @param l array whose elements are to be added to this list.
    134      */
    135     public void addAll(Long[] l) {
    136         for (int i = 0; i < l.length; i++) {
    137             add(l[i]);
    138         }
    139     }
    140
    141     /*** Appends all of the elements in the specified array to the end of this
    142      * list, in the same order that they are in the array.
    143      *
    144      * @param l array whose elements are to be added to this list.
    145      */
    146     public void addAll(long[] l) {
    147         for (int i = 0; i < l.length; i++) {
    148             add(l[i]);
    149         }
    150     }
    151
    152     /*** Replaces the element at the specified position in this list with the
    153      *  specified element.
    154      *
    155      * @param index index at which the specified element is to be inserted.
    156      * @param element element to be inserted.
    157      * @return the element previously at the specified position.
    158      */
    159     public Long set(int index, Long element) {
    160         return (Long) super.set(index, element);
    161     }
    162
    163     /*** Check if element is of right type for this list.
    164      *
    165      * If this method gets a String, it tries to convert it to
    166      * the an Long before eventually throwing an exception.
    167      *
    168      * @param element element to check.
    169      * @return element of the right type.
    170      * @throws ClassCastException is thrown if the element was of wrong type
    171      *         and could not be converted.
    172      */
    173     public Long checkType(Object element) throws ClassCastException {
    174         if (element instanceof Long) {
    175             return (Long)element;
    176         } else {
    177             return (Long)
    178                 SettingsHandler.StringToType(
    179                     (String) element,
    180                     SettingsHandler.LONG);
    181         }
    182     }
    183 }