# Class RowEvaluator.Decoder<T>

java.lang.Object
uk.ac.starlink.table.formats.RowEvaluator.Decoder<T>

Enclosing class:
  `RowEvaluator`

public abstract static class RowEvaluator.Decoder<T> extends Object
Interface for an object that can turn a string into a cell content object.

Since:
  21 Sep 2004
Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`Decoder(Class<T> clazz, String name)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`ColumnInfo`
`createColumnInfo(String name)`
Returns a new ColumnInfo suitable for the decoded values.
`abstract T`
`decode(String value)`
Decodes a value.
`Class<T>`
`getDecodedClass()`
Returns the class to which this decoder decodes.
`String`
`getName()`
Returns the name of this decoder.
`abstract boolean`
`isValid(String value)`
Indicates whether this decoder is capable of decoding a given string.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Decoder

public Decoder(Class<T> clazz, String name)
Constructor.

Parameters:
  `clazz` - class of object to be returned by decode method
  `name` - instance name

## Method Details

### getDecodedClass

public Class<T> getDecodedClass()
Returns the class to which this decoder decodes.

Returns:
  destination class

### getName

public String getName()
Returns the name of this decoder.

Returns:
  name

### createColumnInfo

public ColumnInfo createColumnInfo(String name)
Returns a new ColumnInfo suitable for the decoded values.

Parameters:
  `name` - column name
Returns:
  new metadata object

### decode

public abstract T decode(String value)
Decodes a value. Will complete without exception if `isValid(String)` returns true for the presented `value`; otherwise may throw an unchecked exception.

Parameters:
  `value` - string to decode
Returns:
  typed object corresponding to `value`

### isValid

public abstract boolean isValid(String value)
Indicates whether this decoder is capable of decoding a given string.

Parameters:
  `value` - string to decode
Returns:
  true iff this decoder can make sense of the string