pt.moredata.fglreport
Class AbstractFglReport

java.lang.Object
  extended bypt.moredata.fglreport.AbstractFglReport
All Implemented Interfaces:
FglReport
Direct Known Subclasses:
SwingFglReport, TxtFglReport

public abstract class AbstractFglReport
extends java.lang.Object
implements FglReport

FglReport é a classe que contém as bibliotecas para a construção de reports.


Field Summary
protected  int colno
          Indica o número da coluna corrente.
protected  int firstPageHeaderLength
          Tamanho do FirstPageHeader
protected  java.lang.Object groupChanged
          Chave do campo que mudou na última alteração de grupo
protected  java.util.ArrayList groupsFinished
          Chaves dos grupos que terminaram
protected  java.util.ArrayList groupsStarted
          Chaves dos grupos que começaram
protected  int lineno
          Indica o número da linha corrente.
protected  int pageHeaderLength
          Tamanho do PageHeader
protected  int pageLength
          Indica o número de linhas de uma página, incluindo header e trailer.
protected  int pageno
          Indica a página corrente
protected  int pageTrailerLength
          Tamanho do PageTrailer
protected  int pageWidth
          Indica o número de colunas de uma página.
protected  java.util.ArrayList previousParameters
          Parametros relativos à iteração imediatamente anterior
 
Fields inherited from interface pt.moredata.fglreport.FglReport
SWING, TEXT
 
Constructor Summary
AbstractFglReport()
           
 
Method Summary
 void addFglReportListener(FglReportListener reportListener)
          Adiciona um listener dos eventos do report
abstract  void addObject(java.lang.Object obj)
          Acrescenta o objecto nao grafico ao buffer de escrita do report
protected  java.util.HashMap ArrayList2HashMap(java.util.ArrayList lista)
          Método que dado um ArrayList converte a informação para uma HashMap A forma de entrada dos dados é , , , , ...
 void clearFglReportListener()
          Apaga todos os report Listeners
abstract  void finishReport()
          Termina o report fechando o ficheiro se for caso disso ou apenas mudando as variáveis do objecto (se Stream)
 int getColNo()
          Método que devolve o número da coluna corrente
 int getFirstPageHeaderLen()
          Metodo que devolve o tamanho do Header da primeira pagina
abstract  java.lang.Object getGroup()
          Método que devolve o grupo
abstract  java.lang.Object getGroupValue()
          Método que devolve o valor do campo da nova chave
protected  int getKeys(java.util.ArrayList original, java.util.ArrayList alterados)
          Método que dado um ArrayList devolve as suas chaves.
 int getLineNo()
          Método que devolve o número da linha corrente
 int getPageHeaderLen()
          Metodo que devolve o tamanho do Header das outras paginas
 int getPageLen()
          Metodo que devolve o numero de linhas das páginas do report
 int getPageNo()
          Método que devolve o número da página corrente
 int getPageTrailerLen()
          Metodo que devolve o tamanho do Trailer do report
 int getPageWidth()
          Metodo que devolve o numero de colunas do report
 void gotoColumn(int coluna)
          Posiciona-se na coluna dada como parâmetro
 void gotoLine(int linha)
          Posiciona-se na linha dada como parâmetro
protected abstract  int groupChanged(java.util.ArrayList reportParameters)
          Detecta se houve mudança de algum grupo.
abstract  void newLine()
          Nova linha no reportPreocupa-se em tratar dos headers e trailers
abstract  void newPage()
          Nova página
 void outputToReport()
          Executa o on every row do report
abstract  void outputToReport(java.util.ArrayList reportParameters)
          Envia determinado output para o report.
abstract  void print(java.lang.String str)
          Imprime a string enviada na coluna passada como parâmetro e na linha corrente
abstract  void print(java.lang.String str, int tFont)
          Imprime a string enviada na coluna passada como parâmetro e na linha corrente, mudando-lhe o tamanho da font
 void printBold(java.lang.String str)
          Imprime a string enviada na coluna passada como parâmetro e na linha corrente, afectando a sua fonte para Bold
abstract  void printBold(java.lang.String str, int tFont)
          Imprime a string enviada na coluna passada como parâmetro e na linha corrente, afectando a sua fonte para Bold e muda o tamanho desta
abstract  void printBox(int num_colunas, int num_linhas)
          Imprime uma box na linha e coluna corrente
abstract  void println(java.lang.String str)
          Imprime a string enviada na coluna passada como parâmetro e na linha corrente
 void removeFglReportListener(FglReportListener reportListener)
          Remove um listener para os eventos do report
 void setFirstPageHeaderLength(int tam)
          Define o tamanho do FirstPageHeader
 void setLineno(int linha)
          Reposiciona-se na linha dada como argumento.
 void setNomeFont(java.lang.String nFont)
          Define o nome da font nas impressões (Courier, Times New Roman, Arial etc)
 void setPageHeaderLength(int tam)
          Define o tamanho do PageHeader
 void setPageLen(int tam)
          Afecta o tamanho da página
 void setPageTrailerLength(int tam)
          Define o tamanho do PageTrailer
 void setPageWidth(int tam)
          Metodo que define o numero de colunas de um report
 void setTamanhoFont(int tFont)
          Define o tamanho da font nas impressões
protected  boolean startFirstPage()
          Detecta se é o começo do report.
abstract  void startReport()
          Inicia um report sem qualquer ficheiro associado
 void writeReport(java.lang.String dirName, java.lang.String fileName, boolean flag)
          Escreve o report produzido ate essa altura
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface pt.moredata.fglreport.FglReport
writeReport
 

Field Detail

pageno

protected int pageno
Indica a página corrente


lineno

protected int lineno
Indica o número da linha corrente.


colno

protected int colno
Indica o número da coluna corrente.


pageLength

protected int pageLength
Indica o número de linhas de uma página, incluindo header e trailer.


pageWidth

protected int pageWidth
Indica o número de colunas de uma página.


firstPageHeaderLength

protected int firstPageHeaderLength
Tamanho do FirstPageHeader


pageHeaderLength

protected int pageHeaderLength
Tamanho do PageHeader


pageTrailerLength

protected int pageTrailerLength
Tamanho do PageTrailer


previousParameters

protected java.util.ArrayList previousParameters
Parametros relativos à iteração imediatamente anterior


groupChanged

protected java.lang.Object groupChanged
Chave do campo que mudou na última alteração de grupo


groupsFinished

protected java.util.ArrayList groupsFinished
Chaves dos grupos que terminaram


groupsStarted

protected java.util.ArrayList groupsStarted
Chaves dos grupos que começaram

Constructor Detail

AbstractFglReport

public AbstractFglReport()
Method Detail

startReport

public abstract void startReport()
Inicia um report sem qualquer ficheiro associado

Specified by:
startReport in interface FglReport

outputToReport

public void outputToReport()
Executa o on every row do report

Specified by:
outputToReport in interface FglReport

outputToReport

public abstract void outputToReport(java.util.ArrayList reportParameters)
Envia determinado output para o report.

Recebe um ArrayList como parâmetro para simular a recepção de parâmetros dos reports de Informix 4gl que permitem ordenações e funções agregadas em after group

Specified by:
outputToReport in interface FglReport
Parameters:
reportParameters - ArrayList que simula a recepção de parâmetros dos reports de Informix 4gl que permitem ordenações e funções agregadas em after group.

groupChanged

protected abstract int groupChanged(java.util.ArrayList reportParameters)
Detecta se houve mudança de algum grupo.

Parameters:
reportParameters - ArrayList que simula a recepção de parâmetros dos reports de Informix 4gl que permitem ordenações e funções agregadas em after group.
Returns:
um valor que vai ser interpretado pelo método que o invocou.

getGroup

public abstract java.lang.Object getGroup()
Método que devolve o grupo

Specified by:
getGroup in interface FglReport
Returns:
o grupo que foi alterado

getGroupValue

public abstract java.lang.Object getGroupValue()
Método que devolve o valor do campo da nova chave

Specified by:
getGroupValue in interface FglReport
Returns:
valor do campo da nova chave

startFirstPage

protected boolean startFirstPage()
Detecta se é o começo do report.

Returns:
verdadeiro se for a primeira pagina, falso caso contrário

finishReport

public abstract void finishReport()
Termina o report fechando o ficheiro se for caso disso ou apenas mudando as variáveis do objecto (se Stream)

Specified by:
finishReport in interface FglReport

addObject

public abstract void addObject(java.lang.Object obj)
Acrescenta o objecto nao grafico ao buffer de escrita do report

Specified by:
addObject in interface FglReport
Parameters:
obj - Objecto nao grafico a ser incluido no report

print

public abstract void print(java.lang.String str)
Imprime a string enviada na coluna passada como parâmetro e na linha corrente

Specified by:
print in interface FglReport
Parameters:
str - Texto a imprimir

print

public abstract void print(java.lang.String str,
                           int tFont)
Imprime a string enviada na coluna passada como parâmetro e na linha corrente, mudando-lhe o tamanho da font

Specified by:
print in interface FglReport
Parameters:
str - Texto a imprimir
tFont - Tamanho da font

printBold

public void printBold(java.lang.String str)
Imprime a string enviada na coluna passada como parâmetro e na linha corrente, afectando a sua fonte para Bold

Specified by:
printBold in interface FglReport
Parameters:
str - Texto a imprimir

printBold

public abstract void printBold(java.lang.String str,
                               int tFont)
Imprime a string enviada na coluna passada como parâmetro e na linha corrente, afectando a sua fonte para Bold e muda o tamanho desta

Specified by:
printBold in interface FglReport
Parameters:
str - Texto a imprimir
tFont - Tamanho a imprimir

printBox

public abstract void printBox(int num_colunas,
                              int num_linhas)
Imprime uma box na linha e coluna corrente

Specified by:
printBox in interface FglReport
Parameters:
num_colunas - Numero de caracteres que cabe dentro da box
num_linhas - Numero de linhas que cabe dentro da box

println

public abstract void println(java.lang.String str)
Imprime a string enviada na coluna passada como parâmetro e na linha corrente

Specified by:
println in interface FglReport
Parameters:
str - Texto a imprimir

newLine

public abstract void newLine()
Nova linha no report

Preocupa-se em tratar dos headers e trailers

Specified by:
newLine in interface FglReport

newPage

public abstract void newPage()
Nova página

Specified by:
newPage in interface FglReport

setLineno

public void setLineno(int linha)
Reposiciona-se na linha dada como argumento. Vai tratar as mudanças de página e afins

Specified by:
setLineno in interface FglReport
Parameters:
linha - linha onde o cursor vai posicionar-se

gotoLine

public void gotoLine(int linha)
Posiciona-se na linha dada como parâmetro

Specified by:
gotoLine in interface FglReport
Parameters:
linha - linha onde o cursor vai posicionar-se

gotoColumn

public void gotoColumn(int coluna)
Posiciona-se na coluna dada como parâmetro

Specified by:
gotoColumn in interface FglReport
Parameters:
coluna - coluna onde o cursor vai posicionar-se

getFirstPageHeaderLen

public int getFirstPageHeaderLen()
Metodo que devolve o tamanho do Header da primeira pagina

Specified by:
getFirstPageHeaderLen in interface FglReport
Returns:
Numero de linhas do Header da primeira pagina

getPageHeaderLen

public int getPageHeaderLen()
Metodo que devolve o tamanho do Header das outras paginas

Specified by:
getPageHeaderLen in interface FglReport
Returns:
Numero de linhas do Header das outras paginas

getPageTrailerLen

public int getPageTrailerLen()
Metodo que devolve o tamanho do Trailer do report

Specified by:
getPageTrailerLen in interface FglReport
Returns:
Numero de linhas do Trailer do report

getLineNo

public int getLineNo()
Método que devolve o número da linha corrente

Specified by:
getLineNo in interface FglReport
Returns:
número da linha corrente

getColNo

public int getColNo()
Método que devolve o número da coluna corrente

Specified by:
getColNo in interface FglReport
Returns:
número da coluna corrente

getPageNo

public int getPageNo()
Método que devolve o número da página corrente

Specified by:
getPageNo in interface FglReport
Returns:
Numero de página corrente

setNomeFont

public void setNomeFont(java.lang.String nFont)
Define o nome da font nas impressões (Courier, Times New Roman, Arial etc)

Specified by:
setNomeFont in interface FglReport
Parameters:
nFont - Nome da font

setTamanhoFont

public void setTamanhoFont(int tFont)
Define o tamanho da font nas impressões

Specified by:
setTamanhoFont in interface FglReport
Parameters:
tFont - Tamanho da font

setFirstPageHeaderLength

public void setFirstPageHeaderLength(int tam)
Define o tamanho do FirstPageHeader

Specified by:
setFirstPageHeaderLength in interface FglReport
Parameters:
tam - Valor numérico em linhas

setPageHeaderLength

public void setPageHeaderLength(int tam)
Define o tamanho do PageHeader

Specified by:
setPageHeaderLength in interface FglReport
Parameters:
tam - Valor numérico em linhas

setPageTrailerLength

public void setPageTrailerLength(int tam)
Define o tamanho do PageTrailer

Specified by:
setPageTrailerLength in interface FglReport
Parameters:
tam - Valor numérico em linhas

addFglReportListener

public void addFglReportListener(FglReportListener reportListener)
                          throws java.util.TooManyListenersException
Adiciona um listener dos eventos do report

Specified by:
addFglReportListener in interface FglReport
Parameters:
reportListener - Listener de eventos
Throws:
java.util.TooManyListenersException

removeFglReportListener

public void removeFglReportListener(FglReportListener reportListener)
Remove um listener para os eventos do report

Specified by:
removeFglReportListener in interface FglReport
Parameters:
reportListener - Listener de eventos

clearFglReportListener

public void clearFglReportListener()
Apaga todos os report Listeners

Specified by:
clearFglReportListener in interface FglReport

ArrayList2HashMap

protected java.util.HashMap ArrayList2HashMap(java.util.ArrayList lista)
Método que dado um ArrayList converte a informação para uma HashMap A forma de entrada dos dados é , , , , ...

Parameters:
lista - ArrayList que contém os dados a converter
Returns:
HashMap dos dados que estavam no ArrayList

getKeys

protected int getKeys(java.util.ArrayList original,
                      java.util.ArrayList alterados)
Método que dado um ArrayList devolve as suas chaves. Formato: , , , , ...

Parameters:
original - ArrayList que estava guardado das iterações anteriores
alterados - ArrayList da presente iteração
Returns:
chaves que se alteraram. Originais =/= Alterados

writeReport

public void writeReport(java.lang.String dirName,
                        java.lang.String fileName,
                        boolean flag)
Escreve o report produzido ate essa altura

Parameters:
dirName - Nome da directoria para onde vai ser escrito o report
fileName - Nome do ficheiro para onde vai ser escrito o report
flag - Apenas usada em reports de Swing para gerar o preview ou não

setPageLen

public void setPageLen(int tam)
Afecta o tamanho da página

Specified by:
setPageLen in interface FglReport
Parameters:
tam - Valor do numero de linhas da página

getPageLen

public int getPageLen()
Metodo que devolve o numero de linhas das páginas do report

Specified by:
getPageLen in interface FglReport
Returns:
Numero de linhas das páginas do report

setPageWidth

public void setPageWidth(int tam)
Metodo que define o numero de colunas de um report

Specified by:
setPageWidth in interface FglReport
Parameters:
tam - Numero de colunas do report

getPageWidth

public int getPageWidth()
Metodo que devolve o numero de colunas do report

Specified by:
getPageWidth in interface FglReport
Returns:
Numero de colunas do report