Package systextil.rpt

Class ColumnsInRowsReader

java.lang.Object
systextil.rpt.ColumnsInRowsReader
Direct Known Subclasses:
RptPipelineReader, TextRowsReader

public abstract class ColumnsInRowsReader extends Object
Lê dados que estejam organizados em colunas a partir da leitura de linhas de caracteres.

A cada invocação de next() a lista row é alimentada com os caracteres que foram lidos para cada coluna.

Os valores podem então ser obtidos invocando-se os métodos "getters" convenientes.

Uma maneira prática de ler esses dados segue o exemplo:

ColumnsInRowsReader reader = new RptPipelineReader(file);
while(reader.next()) {
    int rowNumber = reader.getCurrentRowNumber();
    int code = reader.getInt(0);
    String name = reader.getString(1);
    Date date = reader.getDate(2);
    // ...
}
int totalRows = reader.getCurrentRowNumber();
 
O número das colunas começa em zero, e o número das linhas começa em 1.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final List<String>
    Contém a lista de valores dos campos que foram lidos em uma linha.
    protected int
    Memoriza o número do registro que está sendo lido.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    getBigDecimal(int position)
    Lê o valor do campo como um número BigDecimal, na posição indicada.
    final int
    Retorna o número da linha onde o registro está posicionado.
    getDate(int position)
    Lê o valor do campo como uma data, na posição indicada.
    double
    getDouble(int position)
    Lê o valor do campo como um número decimal, na posição indicada.
    int
    getInt(int position)
    Lê o valor do campo como um número inteiro, na posição indicada.
    getString(int position)
    Lê o texto do valor do campo na posição indicada.
    getTime(int position)
    Lê o valor do campo como uma hora, na posição indicada.
    abstract boolean
    Posiciona a leitura no próximo registro.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • row

      protected final List<String> row
      Contém a lista de valores dos campos que foram lidos em uma linha.
    • rowNumber

      protected int rowNumber
      Memoriza o número do registro que está sendo lido.
  • Constructor Details

    • ColumnsInRowsReader

      public ColumnsInRowsReader()
  • Method Details

    • next

      public abstract boolean next()
      Posiciona a leitura no próximo registro.

      Implementações deste método são responsáveis por preencher a lista row com os valores que foram lidos.

      Returns:
      se há próximo registro para ler
    • getString

      public String getString(int position)
      Lê o texto do valor do campo na posição indicada.
      Parameters:
      position - a posição do campo. O primeiro campo é zero.
      Returns:
      o texto do valor do campo; nunca é nulo.
      Throws:
      IndexOutOfBoundsException - se não houver valor nessa posição
    • getInt

      public int getInt(int position)
      Lê o valor do campo como um número inteiro, na posição indicada.
      Parameters:
      position - a posição do campo. O primeiro campo é zero.
      Returns:
      o valor do campo; se estiver vazio, retorna zero.
      Throws:
      IndexOutOfBoundsException - se não houver valor nessa posição
      NumberFormatException - se o valor não for um número inteiro
    • getDouble

      public double getDouble(int position)
      Lê o valor do campo como um número decimal, na posição indicada.
      Parameters:
      position - a posição do campo. O primeiro campo é zero.
      Returns:
      o valor do campo; se estiver vazio, retorna zero.
      Throws:
      IndexOutOfBoundsException - se não houver valor nessa posição
      NumberFormatException - se o valor não for um número decimal
    • getBigDecimal

      public BigDecimal getBigDecimal(int position)
      Lê o valor do campo como um número BigDecimal, na posição indicada.
      Parameters:
      position - a posição do campo. O primeiro campo é zero.
      Returns:
      o valor do campo; se estiver vazio, retorna zero.
      Throws:
      IndexOutOfBoundsException - se não houver valor nessa posição
      NumberFormatException - se o valor não for um número decimal
    • getDate

      public Date getDate(int position)
      Lê o valor do campo como uma data, na posição indicada. O formato usado é o padrão brasileiro, usado pelos processos de RPT.
      Parameters:
      position - a posição do campo. O primeiro campo é zero.
      Returns:
      o valor do campo; se estiver vazio, retorna nulo.
      Throws:
      IndexOutOfBoundsException - se não houver valor nessa posição
      IllegalArgumentException - se o valor não for uma data
    • getTime

      public Time getTime(int position)
      Lê o valor do campo como uma hora, na posição indicada.
      Parameters:
      position - a posição do campo. O primeiro campo é zero.
      Returns:
      o valor do campo; se estiver vazio, retorna nulo.
      Throws:
      IndexOutOfBoundsException - se não houver valor nessa posição
      IllegalArgumentException - se o valor não for uma hora
    • getCurrentRowNumber

      public final int getCurrentRowNumber()
      Retorna o número da linha onde o registro está posicionado. Ao final da leitura dos dados, indica quantas linhas foram lidas.
      Returns:
      o número da linha. A primeira linha é 1.