de.fu_berlin.ties.classify.feature
Class FeatureVector

java.lang.Object
  extended by de.fu_berlin.ties.classify.feature.FeatureVector
Direct Known Subclasses:
DefaultFeatureVector, FeatureSet

public abstract class FeatureVector
extends Object

A feature vector contains the features representing an instance. Subclasses must implement the store() method to provide a collection for storing the features.

Instances of this class are thread-safe if and only if the provided collection is thread-safe (normally this won't be the case).

Version:
$Revision: 1.15 $, $Date: 2006/10/21 16:03:57 $, $Author: siefkes $
Author:
Christian Siefkes

Constructor Summary
FeatureVector()
          Creates a new instance.
 
Method Summary
 void add(Feature feature)
          Adds a feature to this vector.
 void addAll(Collection coll)
          Adds all of the features in the specified Collection to this vector, in the order they are returned by the specified Collection's Iterator.
 void addAll(FeatureVector fv)
          Adds all of the features in the specified feature vector to this vector, in the order they are returned by the specified feature vector.
 void addAllTokens(CharSequence text, TextTokenizer tokenizer)
          Tokenizes a text, creating and adding a feature for each token.
 CharSequence flatten()
          Flattens the contained features into a single character sequence, without including comments.
 CharSequence flatten(boolean inclComments)
          Flattens a list of features into a single character sequence.
 FeatureVector getTransformed()
          Returns a reference to a transformed representation of this feature vector; null if this instance has never been transformed.
 Iterator iterator()
          Returns an iterator over the Features stored in this vector.
 FeatureVector lastTransformation()
          Invokes the static lastTransformation(FeatureVector) method, passing this instance as argument.
static FeatureVector lastTransformation(FeatureVector features)
          Recursively follows transformations of a feature vector, returning the last transformation.
 void setTransformed(FeatureVector newTransformed)
          Sets a new reference to a transformed representation of this feature vector.
 int size()
          Returns the number of features stored in this vector.
protected abstract  Collection<Feature> store()
          Returns the collection used for storing the features.
 String toString()
          Returns a string representation of this object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FeatureVector

public FeatureVector()
Creates a new instance.

Method Detail

lastTransformation

public static FeatureVector lastTransformation(FeatureVector features)
Recursively follows transformations of a feature vector, returning the last transformation.

Parameters:
features - the feature vector to use
Returns:
the last transformation of the given feature vector

add

public void add(Feature feature)
Adds a feature to this vector.

Parameters:
feature - the feature to add

addAll

public void addAll(Collection coll)
            throws ClassCastException
Adds all of the features in the specified Collection to this vector, in the order they are returned by the specified Collection's Iterator.

Parameters:
coll - a collection of features to add
Throws:
ClassCastException - if the collection contains elements that are not Features

addAll

public void addAll(FeatureVector fv)
Adds all of the features in the specified feature vector to this vector, in the order they are returned by the specified feature vector.

Parameters:
fv - the vector of features to add

addAllTokens

public void addAllTokens(CharSequence text,
                         TextTokenizer tokenizer)
Tokenizes a text, creating and adding a feature for each token.

Parameters:
text - the text to tokenize
tokenizer - the tokenizer to use

getTransformed

public FeatureVector getTransformed()
Returns a reference to a transformed representation of this feature vector; null if this instance has never been transformed.

Returns:
the value of the attribute

flatten

public CharSequence flatten()
Flattens the contained features into a single character sequence, without including comments. Features are separated by newlines.

Returns:
the resulting character sequence, created by printing calling Feature.getRepresentation() on each feature in the vector; each feature representation is followed by a newline

flatten

public CharSequence flatten(boolean inclComments)
Flattens a list of features into a single character sequence. Features are separated by newlines.

Parameters:
inclComments - whether or not to include comments
Returns:
the resulting character sequence, created by printing calling Feature.getRepresentation() on each feature in the vector; each feature representation is followed by a newline

iterator

public Iterator iterator()
Returns an iterator over the Features stored in this vector.

Returns:
an iterator over the stored features

lastTransformation

public FeatureVector lastTransformation()
Invokes the static lastTransformation(FeatureVector) method, passing this instance as argument.

Returns:
the last transformation of this instance

setTransformed

public void setTransformed(FeatureVector newTransformed)
Sets a new reference to a transformed representation of this feature vector.

Parameters:
newTransformed - the new value of the attribute

size

public int size()
Returns the number of features stored in this vector.

Returns:
the number of features

store

protected abstract Collection<Feature> store()
Returns the collection used for storing the features. The properties of a feature vector depend on the kind of collection that is used.

Returns:
the collection used for storing the features.

toString

public String toString()
Returns a string representation of this object.

Overrides:
toString in class Object
Returns:
a textual representation


Copyright © 2003-2007 Christian Siefkes. All Rights Reserved.