Class StringList

java.lang.Object
org.apache.wicket.util.string.AbstractStringList
org.apache.wicket.util.string.StringList
All Implemented Interfaces:
Serializable, IStringSequence

public final class StringList extends AbstractStringList
A typesafe, mutable list of strings supporting a variety of convenient operations as well as expected operations from List such as add(), size(), remove(), iterator(), get(int index) and toArray(). Instances of the class are not threadsafe.

StringList objects can be constructed empty or they can be created using any of several static factory methods:

  • valueOf(String[])
  • valueOf(String)
  • valueOf(Collection)
  • valueOf(Object[])
In the case of the Collection and Object[] factory methods, each Object in the collection or array is converted to a String via toString() before being added to the StringList.

The tokenize() factory methods allow easy creation of StringLists via StringTokenizer. The repeat() static factory method creates a StringList that repeats a given String a given number of times.

The prepend() method adds a String to the beginning of the StringList. The removeLast() method pops a String off the end of the list. The sort() method sorts strings in the List using Collections.sort(). The class also inherits useful methods from AbstractStringList that include join() methods ala Perl and a toString() method which joins the list of strings with comma separators for easy viewing.

Author:
Jonathan Locke
See Also:
  • Constructor Details

    • StringList

      public StringList()
      Constructor.
    • StringList

      public StringList(int size)
      Constructor.
      Parameters:
      size - Number of elements to preallocate
  • Method Details

    • repeat

      public static StringList repeat(int count, String string)
      Returns a list of a string repeated a given number of times.
      Parameters:
      count - The number of times to repeat the string
      string - The string to repeat
      Returns:
      The list of strings
    • tokenize

      public static StringList tokenize(String string)
      Extracts tokens from a comma and space delimited string.
      Parameters:
      string - The string
      Returns:
      The string tokens as a list
    • tokenize

      public static StringList tokenize(String string, String delimiters)
      Extracts tokens from a delimited string.
      Parameters:
      string - The string
      delimiters - The delimiters
      Returns:
      The string tokens as a list
    • valueOf

      public static StringList valueOf(Collection<?> collection)
      Converts a collection of objects into a list of string values by using the conversion methods of the StringValue class.
      Parameters:
      collection - The collection to add as strings
      Returns:
      The list
    • valueOf

      public static StringList valueOf(Object[] objects)
      Converts an array of objects into a list of strings by using the object to string conversion method of the StringValue class.
      Parameters:
      objects - The objects to convert
      Returns:
      The list of strings
    • valueOf

      public static StringList valueOf(String string)
      Returns a string list with just one string in it.
      Parameters:
      string - The string
      Returns:
      The list of one string
    • valueOf

      public static StringList valueOf(String[] array)
      Converts a string array to a string list.
      Parameters:
      array - The array
      Returns:
      The list
    • add

      public void add(String string)
      Adds a string to the back of this list.
      Parameters:
      string - String to add
    • add

      public void add(int pos, String string)
      Adds the string to the stringlist at position pos.
      Parameters:
      pos - the position to add the string at
      string - the string to add.
    • add

      public void add(StringValue value)
      Adds a string value to this list as a string.
      Parameters:
      value - The value to add
    • contains

      public boolean contains(String string)
      Parameters:
      string - The string to look for
      Returns:
      True if the list contains the string
    • get

      public String get(int index)
      Gets the string at the given index.
      Specified by:
      get in interface IStringSequence
      Specified by:
      get in class AbstractStringList
      Parameters:
      index - The index
      Returns:
      The string at the index
      Throws:
      IndexOutOfBoundsException
      See Also:
    • getList

      public List<String> getList()
      Returns:
      List value (not a copy of this list)
    • iterator

      Returns a typesafe iterator over this collection of strings.
      Specified by:
      iterator in interface IStringSequence
      Specified by:
      iterator in class AbstractStringList
      Returns:
      Typesafe string iterator
      See Also:
    • prepend

      public void prepend(String string)
      Adds the given string to the front of the list.
      Parameters:
      string - The string to add
    • remove

      public void remove(int index)
      Removes the string at the given index.
      Parameters:
      index - The index
    • removeLast

      public void removeLast()
      Removes the last string in this list.
    • size

      public int size()
      Specified by:
      size in interface IStringSequence
      Specified by:
      size in class AbstractStringList
      Returns:
      The number of strings in this list.
      See Also:
    • sort

      public void sort()
      Sorts this string list alphabetically.
    • toArray

      public String[] toArray()
      Converts this string list to a string array.
      Overrides:
      toArray in class AbstractStringList
      Returns:
      The string array
    • totalLength

      public int totalLength()
      Overrides:
      totalLength in class AbstractStringList
      Returns:
      The total length of all strings in this list.