edu.stanford.nlp.ling
Class Sentence

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList<HasWord>
              extended by edu.stanford.nlp.ling.Sentence
All Implemented Interfaces:
Serializable, Cloneable, Iterable<HasWord>, Collection<HasWord>, List<HasWord>, RandomAccess

public class Sentence
extends ArrayList<HasWord>

Sentence holds a single sentence, and mediating between word numbers and words. A sentence may contain a list of Word, or of a subtype, such as TaggedWord. A Sentence is just a slightly glorified ArrayList.

Author:
Dan Klein
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
Sentence()
          Constructs an empty sentence.
Sentence(Collection<? extends HasWord> w)
          Constructs a sentence from the input Collection.
Sentence(List lex, List tags)
          Create a Sentence as a list of TaggedWord from two lists of String, one for the words, and the second for the tags.
 
Method Summary
 HasWord getHasWord(int index)
          Return the Word at the given index.
 int length()
          A convenience method since we normally say sentences have a length.
 void setWords(Collection<HasWord> wordList)
          Set the Sentence to this Collection of Word's.
 String toString()
          Returns the sentence as a string with a space between words.
 String toString(boolean justValue)
          Returns the sentence as a string with a space between words.
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Constructor Detail

Sentence

public Sentence()
Constructs an empty sentence.


Sentence

public Sentence(Collection<? extends HasWord> w)
Constructs a sentence from the input Collection.

Parameters:
w - A Collection (interpreted as ordered) to make the sentence out of. It should really be a Collection of Word's.

Sentence

public Sentence(List lex,
                List tags)
Create a Sentence as a list of TaggedWord from two lists of String, one for the words, and the second for the tags.

Parameters:
lex - a list whose items are of type String and are the words
tags - a list whose items are of type String and are the tags
Method Detail

setWords

public void setWords(Collection<HasWord> wordList)
Set the Sentence to this Collection of Word's.

Parameters:
wordList - A collection of words (interpreted as ordered

getHasWord

public HasWord getHasWord(int index)
Return the Word at the given index. Does type casting.

Parameters:
index - The index to use
Returns:
The word at this index

length

public int length()
A convenience method since we normally say sentences have a length. Same as size().

Returns:
the length of the sentence

toString

public String toString()
Returns the sentence as a string with a space between words. It strictly prints out the value() of each item - this will give the expected answer for a shortform representation of the "sentence" over a range of cases (including where the sentence is a list of tags or Strings). It is equivalent to calling toString(true)

Overrides:
toString in class AbstractCollection<HasWord>
Returns:
The sentence

toString

public String toString(boolean justValue)
Returns the sentence as a string with a space between words. Designed to work robustly, even if the elements stored in the 'Sentence' are not of type Label.

Parameters:
justValue - If true and the elements are of type Label, return just the value() of the Label of each word; otherwise, call the toString() method on each item.
Returns:
The sentence in String form


Stanford NLP Group