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 intRetorna 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.doublegetDouble(int position) Lê o valor do campo como um número decimal, na posição indicada.intgetInt(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 booleannext()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
rowcom 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.
-