calhoun.analysis.crf.io
Class NameInputSequence

java.lang.Object
  extended by calhoun.analysis.crf.io.NameInputSequence
All Implemented Interfaces:
InputSequence<java.lang.String>

public class NameInputSequence
extends java.lang.Object
implements InputSequence<java.lang.String>

input sequence that captures the 'name' of a sequence. This is useful for display or for tracking outputs, but usually won't be used by the engine. The full sequence name is returned as the data element for every position. In this respect it is not really a sequence.

This feature has some special properties that allow sequences to be tracked as they are subsetted. When subsetting a NameInputSequence, a string is append to the name showing the start and stop (one-based inclusive) of the subsetting. For example, if the sequence with name "CND1" is subsetting to based 201 to 1000, then the new name will be "CND1:201-1000". To avoid repetitive subsetting, the NameInput does not allow subsetting on names containing a '-'.


Constructor Summary
NameInputSequence()
          default constructor
NameInputSequence(java.lang.String a)
          constructors an input sequence using this name
 
Method Summary
 InputSequence<?> getComponent(java.lang.String name)
          For input sequences that are a composite of several different input objects, returns a particular component of the input.
 java.lang.String getName()
           
 java.lang.String getX(int ix)
          retrieves the input value at a position in the input sequence.
 int length()
          Returns the length of this sequence
 java.util.Collection<java.lang.String> listComponents()
          For input sequences that are a composite of several different input objects, returns a list of the names of the components in this input sequence.
 InputSequence<java.lang.String> subSequence(int start, int end)
          tTakes a subinterval of the input sequence with given start-end coordinates which are relative coordinates, 1-based, and inclusive.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NameInputSequence

public NameInputSequence()
default constructor


NameInputSequence

public NameInputSequence(java.lang.String a)
constructors an input sequence using this name

Method Detail

getName

public java.lang.String getName()

getX

public java.lang.String getX(int ix)
Description copied from interface: InputSequence
retrieves the input value at a position in the input sequence.

Specified by:
getX in interface InputSequence<java.lang.String>
Parameters:
ix - the index position at which to get the input. This is a zero-based index.
Returns:
the object at this position in the input.

length

public int length()
Description copied from interface: InputSequence
Returns the length of this sequence

Specified by:
length in interface InputSequence<java.lang.String>
Returns:
length

getComponent

public InputSequence<?> getComponent(java.lang.String name)
Description copied from interface: InputSequence
For input sequences that are a composite of several different input objects, returns a particular component of the input. For simple input sequences that just return an object, this method should throw UnsupportedOperationException.

Specified by:
getComponent in interface InputSequence<java.lang.String>
Parameters:
name - the name of the input component to return
Returns:
the input sequence representing this component

listComponents

public java.util.Collection<java.lang.String> listComponents()
Description copied from interface: InputSequence
For input sequences that are a composite of several different input objects, returns a list of the names of the components in this input sequence. For simple input sequences that just return an object, this method should throw UnsupportedOperationException.

Specified by:
listComponents in interface InputSequence<java.lang.String>
Returns:
a collection containing the component names

subSequence

public InputSequence<java.lang.String> subSequence(int start,
                                                   int end)
Description copied from interface: InputSequence
tTakes a subinterval of the input sequence with given start-end coordinates which are relative coordinates, 1-based, and inclusive. Thus 1-10 will mean returning a new InputSequence which is the first 10 positions of the current one.

An implementation that does not support subsetting should throw an UnsupportedOperationException

Specified by:
subSequence in interface InputSequence<java.lang.String>
Parameters:
start - the 1-based index of the first position of the input to retrieve.
end - the 1-based index of the last position of the input to retrieve.
Returns:
an input sequence which is a sbusequence of the original sequence.