uk.ac.starlink.table.formats

## Class RowEvaluator.Decoder

- java.lang.Object
- - uk.ac.starlink.table.formats.RowEvaluator.Decoder

- Enclosing class:
    RowEvaluator

      public abstract static class RowEvaluator.Decoder
      extends java.lang.Object

  Interface for an object that can turn a string into a cell content object.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Decoder(java.lang.Class<?> clazz)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `ColumnInfo` | `createColumnInfo(java.lang.String name)` Returns a new ColumnInfo suitable for the decoded values.
    `abstract java.lang.Object` | `decode(java.lang.String value)` Decodes a value.
    `abstract boolean` | `isValid(java.lang.String value)` Indicates whether this decoder is capable of decoding a given string.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### Decoder

          public Decoder(java.lang.Class<?> clazz)

      Constructor.
      Parameters:
        `clazz` - class of object to be returned by decode method

  - ### Method Detail

    - #### createColumnInfo

          public ColumnInfo createColumnInfo(java.lang.String name)

      Returns a new ColumnInfo suitable for the decoded values.
      Parameters:
        `name` - column name
      Returns:
        new metadata object

    - #### decode

          public abstract java.lang.Object decode(java.lang.String value)

      Decodes a value. Will complete without exception if `isValid(java.lang.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(java.lang.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