Package org.springframework.batch.item.file.transform

# Class AbstractLineTokenizer

java.lang.Object
org.springframework.batch.item.file.transform.AbstractLineTokenizer

All Implemented Interfaces:
  `LineTokenizer`

Direct Known Subclasses:
  `DelimitedLineTokenizer`, `FixedLengthTokenizer`, `RegexLineTokenizer`

public abstract class AbstractLineTokenizer extends Object implements LineTokenizer
Abstract class handling common concerns of various `LineTokenizer` implementations such as dealing with names and actual construction of `FieldSet`

Author:
  Dave Syer, Robert Kasanicky, Lucas Ward, Michael Minella

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected String[]`
  `names`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractLineTokenizer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract List<String>`
  `doTokenize(String line)`
  `boolean`
  `hasNames()`
  `protected boolean`
  `isStrict()`
  Provides access to the strict flag for subclasses if needed.
  `void`
  `setFieldSetFactory(FieldSetFactory fieldSetFactory)`
  Factory for `FieldSet` instances.
  `void`
  `setNames(String... names)`
  Setter for column names.
  `void`
  `setStrict(boolean strict)`
  Public setter for the strict flag.
  `FieldSet`
  `tokenize(String line)`
  Yields the tokens resulting from the splitting of the supplied `line`.

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

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

- ## Field Details

  - ### names

    protected String[] names

- ## Constructor Details

  - ### AbstractLineTokenizer

    public AbstractLineTokenizer()

- ## Method Details

  - ### setStrict

    public void setStrict(boolean strict)
    Public setter for the strict flag. If true (the default) then number of tokens in line must match the number of tokens defined (by `Range`, columns, etc.) in `LineTokenizer`. If false then lines with less tokens will be tolerated and padded with empty columns, and lines with more tokens will simply be truncated.
    Parameters:
      `strict` - the strict flag to set

  - ### isStrict

    protected boolean isStrict()
    Provides access to the strict flag for subclasses if needed.
    Returns:
      the strict flag value

  - ### setFieldSetFactory

    public void setFieldSetFactory(FieldSetFactory fieldSetFactory)
    Factory for `FieldSet` instances. Can be injected by clients to customize the default number and date formats.
    Parameters:
      `fieldSetFactory` - the `FieldSetFactory` to set

  - ### setNames

    public void setNames(String... names)
    Setter for column names. Optional, but if set, then all lines must have as many or fewer tokens.
    Parameters:
      `names` - names of each column

  - ### hasNames

    public boolean hasNames()
    Returns:
      `true` if column names have been specified
    See Also:
      - `setNames(String[])`

  - ### tokenize

    public FieldSet tokenize(@Nullable String line)
    Yields the tokens resulting from the splitting of the supplied `line`.
    Specified by:
      `tokenize` in interface `LineTokenizer`
    Parameters:
      `line` - the line to be tokenized (can be `null`)
    Returns:
      the resulting tokens

  - ### doTokenize

    protected abstract List<String> doTokenize(String line)