Package systextil.rpt

Class RptProcess

java.lang.Object
systextil.rpt.RptProcess

public class RptProcess extends Object
Cria um processo genérico de geração de RPT. Genérico porque expõe a entrada padrão, de modo que possa ser executado sem ser a partir de um arquivo de dados.

Após construir um RptProcess, é preciso alimentar o writer com os dados, se não tiver sido fornecido um arquivo de dados de entrada. Ao concluir, executar close(). O retorno é o endereço completo do arquivo de saída (outputFile).

Author:
sergio
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    Entrada padrão do processo de RPT, disponível somente quando não é informado um arquivo de entrada de dados, isto é, inputFile é nulo.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RptProcess(File outputFile, File rptScriptFile, File inputFile)
    Constrói um processo RPT informando todos os argumentos.
    RptProcess(File outputFile, Reader rptScriptReader, File inputFile)
    Constrói um processo RPT informando todos os argumentos.
  • Method Summary

    Modifier and Type
    Method
    Description
    Encerra o processo e fecha o writer.
    static void
    main(String[] args)
    Conveniência para executar RPT a partir da linha de comando.
    static Path
    Grava o conteúdo do Reader em um arquivo temporário aleatório, na codificação do Windows.
    void
    write(Reader reader)
    Conveniência que escreve as linhas na entrada padrão deste processo.
    void
    write(String string)
    Conveniência que escreve um texto na entrada padrão deste processo.

    Methods inherited from class java.lang.Object

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

    • writer

      public final PrintWriter writer
      Entrada padrão do processo de RPT, disponível somente quando não é informado um arquivo de entrada de dados, isto é, inputFile é nulo. Neste caso, os dados de pipeline devem ser escritos neste PrintWriter para serem processados, diretamente ou usando os métodos write deste processo. Ao fechar este PrintWriter a execução do processo será finalizada, mas é recomendado usar o método close() deste processo, porque faz algumas validações a mais e retorna o arquivo que foi gerado.
  • Constructor Details

    • RptProcess

      public RptProcess(File outputFile, File rptScriptFile, File inputFile) throws RptInvalidLayout, RptException
      Constrói um processo RPT informando todos os argumentos.
      Parameters:
      outputFile - o caminho completo do arquivo a ser gerado. Se for nulo, será gerado um arquivo temporário com File.createTempFile() que será excluído ao encerrar a JVM.
      rptScriptFile - o caminho completo do script RPT a ser executado
      inputFile - o caminho completo do arquivo de dados de entrada. Se for nulo, será preciso alimentar a entrada de dados padrão.
      Throws:
      RptInvalidLayout - se o script RPT (leiaute) informado for inválido
      RptException - se houver qualquer problema ao iniciar o processo RPT
    • RptProcess

      public RptProcess(File outputFile, Reader rptScriptReader, File inputFile) throws RptException
      Constrói um processo RPT informando todos os argumentos.
      Parameters:
      outputFile - o caminho completo do arquivo a ser gerado. Se for nulo, será gerado um arquivo temporário com File.createTempFile() que será excluído ao encerrar a JVM.
      rptScriptReader - o conteúdo do arquivo de leiaute a ser usado, o qual será processado a partir de um arquivo temporário.
      inputFile - o caminho completo do arquivo de dados de entrada. Se for nulo, será preciso alimentar a entrada de dados padrão.
      Throws:
      RptException - se houver qualquer problema ao iniciar o processo RPT
  • Method Details

    • toTempFile

      public static Path toTempFile(Reader in) throws RptException
      Grava o conteúdo do Reader em um arquivo temporário aleatório, na codificação do Windows.

      Ao terminar, fecha os streams, tanto o de leitura quanto o de escrita.

      Parameters:
      in - o reader contendo o leiaute
      Returns:
      o arquivo temporário que foi gerado
      Throws:
      RptException - se algo der errado
    • close

      public File close() throws RptException
      Encerra o processo e fecha o writer.
      Returns:
      o endereço completo do arquivo gerado. Pode ser nulo se tiver sido informado nulo, usando assim a saída padrão do processo.
      Throws:
      RptException - se o resultado não for bem sucedido ou gerar arquivo vazio
    • write

      public void write(Reader reader)
      Conveniência que escreve as linhas na entrada padrão deste processo. Não fecha a entrada padrão, permitindo que se escrevam mais dados se quiser. Usa internamente um BufferedReader para fazer a leitura.
      Parameters:
      reader - o leitor de linhas que serão enviadas para a entrada padrão do processo
    • write

      public void write(String string)
      Conveniência que escreve um texto na entrada padrão deste processo. Não fecha a entrada padrão, permitindo que se escrevam mais dados se quiser.
      Parameters:
      string - o texto que será enviado para a entrada padrão do processo
    • main

      public static void main(String[] args) throws RptException
      Conveniência para executar RPT a partir da linha de comando.
      Parameters:
      args - arquivo de saída, arquivo RPT e arquivo de dados TXT
      Throws:
      RptException - se houver problema