Package systextil.rpt
Class ColumnsInRowsReader
java.lang.Object
systextil.rpt.ColumnsInRowsReader
- Direct Known Subclasses:
RptPipelineReader
,TextRowsReader
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 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetBigDecimal
(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
next()
Posiciona a leitura no próximo registro.
-
Field Details
-
row
Contém a lista de valores dos campos que foram lidos em uma linha. -
rowNumber
protected int rowNumberMemoriza 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
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çãoNumberFormatException
- 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çãoNumberFormatException
- se o valor não for um número decimal
-
getBigDecimal
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çãoNumberFormatException
- se o valor não for um número decimal
-
getDate
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çãoIllegalArgumentException
- se o valor não for uma data
-
getTime
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çãoIllegalArgumentException
- 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.
-