Class ServidorFTP

java.lang.Object
  |
  +--ServidorFTP

public class ServidorFTP
extends java.lang.Object

A Classe ServidorFTP especifica a implementação de um objeto que representa um servidor FTP. Esse objeto estabelece a conexão com o servidor FTP, envia comandos e recebe respostas.

Version:
1.0
Author:
André Leon S. Gradvohl, R.A. 974171, Disciplina de Teoria de Agentes - IA009

Field Summary
private  java.io.BufferedReader cmdIn
          Objeto que contém o pipe de entrada para a conexão de comandos do servidor FTP.
private  java.io.DataOutputStream cmdOut
          Objeto que contém o pipe de saída para a conexão de comandos do servidor FTP.
private  java.net.Socket cmdSocket
          Objeto que contém o Socket para a conexão de comandos do servidor FTP.
private  java.io.BufferedReader dataIn
          Objeto que contém o pipe de entrada para a conexão de dados do servidor FTP.
private  java.io.DataOutputStream dataOut
          Objeto que contém o pipe de saída para a conexão de dados do servidor FTP.
private  java.net.Socket dataSocket
          Objeto que contém o Socket para a conexão de dados do servidor FTP.
private  ParametrosPlus parametros
          Objeto que contém os parâmetros passados pela linha de comando
 
Constructor Summary
ServidorFTP(ParametrosPlus parametros)
          Construtor da Classe AgMirror.
 
Method Summary
 java.net.Socket AbreConexaoDados(java.net.Socket servidor)
          Método que Abre a conexão de dados com o servidor FTP.
 boolean criaDir(java.lang.String dirEspelho)
          Método que cria um diretório no servidor FTP
 boolean entraDir(java.lang.String dirEspelho)
          Método que entra no diretório interno do servidor FTP
 void erro(java.lang.String msg, boolean out)
          Método que imprime mensagens de erro.
 int executa(java.lang.String comando)
          Método que transmite um comando para ser executado no servidor FTP.
 java.lang.String executa(java.lang.String comando, java.lang.String valores)
          Método que transmite um comando para ser executado no servidor FTP, junto com seus parametros.
 boolean fazLogin(java.lang.String login, java.lang.String senha)
          Método que faz o log in no servidor FTP.
 void gravaLocal(java.lang.String nome)
          Método que copia um grupo de arquivos remotos para um diretório local.
 void gravaLocal(java.lang.String[] nomes)
          Método que copia um grupo de arquivos remotos para um diretório local.
 void gravaRemoto(java.io.File nome)
          Método que copia um grupo de arquivos locais para um diretório remoto.
 void gravaRemoto(java.io.File[] nomes)
          Método que copia um grupo de arquivos locais para um diretório remoto.
 void imprime(java.lang.String msg)
          Método que imprime mensagens se o agente for interativo.
 java.lang.String Le()
          Veja o método Le( false ).
 java.lang.String Le(boolean blocante)
          Método que le o que foi mandado pelo servidor FTP.
 java.lang.String LeDados(boolean blocante)
          Método que le os dadps que foram mandados pelo servidor FTP.
 void reiniciaConexaoDados()
          Método que reestabelece a conexão de dados entre o servidor e a aplicação.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

parametros

private ParametrosPlus parametros
Objeto que contém os parâmetros passados pela linha de comando

cmdSocket

private java.net.Socket cmdSocket
Objeto que contém o Socket para a conexão de comandos do servidor FTP.

dataSocket

private java.net.Socket dataSocket
Objeto que contém o Socket para a conexão de dados do servidor FTP.

cmdIn

private java.io.BufferedReader cmdIn
Objeto que contém o pipe de entrada para a conexão de comandos do servidor FTP.

cmdOut

private java.io.DataOutputStream cmdOut
Objeto que contém o pipe de saída para a conexão de comandos do servidor FTP.

dataIn

private java.io.BufferedReader dataIn
Objeto que contém o pipe de entrada para a conexão de dados do servidor FTP.

dataOut

private java.io.DataOutputStream dataOut
Objeto que contém o pipe de saída para a conexão de dados do servidor FTP.
Constructor Detail

ServidorFTP

public ServidorFTP(ParametrosPlus parametros)
Construtor da Classe AgMirror.
Parameters:
parametros - Uma String contendo todos os parâmetros passados para esse agente.
Method Detail

AbreConexaoDados

public java.net.Socket AbreConexaoDados(java.net.Socket servidor)
                                 throws java.io.IOException
Método que Abre a conexão de dados com o servidor FTP.
Parameters:
servidor - O socket de comandos, já aberto do servidor.
Returns:
O socket de dados aberto.
Throws:
java.io.IOException - Se o socket não for aberto.

entraDir

public boolean entraDir(java.lang.String dirEspelho)
Método que entra no diretório interno do servidor FTP
Parameters:
dirEspelho - o nome do diretório espelho onde se quer entrar
Returns:
true se a mudança foi efetuada. false caso contrário.

criaDir

public boolean criaDir(java.lang.String dirEspelho)
Método que cria um diretório no servidor FTP
Parameters:
dirEspelho - o nome do diretório espelho onde se quer entrar
Returns:
true se a mudança foi efetuada. false caso contrário.

erro

public void erro(java.lang.String msg,
                 boolean out)
Método que imprime mensagens de erro.
Parameters:
msg - a mensagem a ser impressa.
out - true se o erro deve parar o programa. false caso contrário.

executa

public int executa(java.lang.String comando)
Método que transmite um comando para ser executado no servidor FTP.
Parameters:
comando - O comando que se quer executar.
Returns:
Um inteiro contendo o código de execução ou 0 se houver uma falha.

executa

public java.lang.String executa(java.lang.String comando,
                                java.lang.String valores)
Método que transmite um comando para ser executado no servidor FTP, junto com seus parametros.
Parameters:
comando - O comando que se quer executar.
valores - Os valores passados como parametros para o comando.
Returns:
uma String resultante da execução .

fazLogin

public boolean fazLogin(java.lang.String login,
                        java.lang.String senha)
Método que faz o log in no servidor FTP.
Parameters:
login - o log in do usuário.
passwd - a senha do usuário.
Returns:
true se o log in foi efetuado false caso contrário.

imprime

public void imprime(java.lang.String msg)
Método que imprime mensagens se o agente for interativo.
Parameters:
msg - a mensagem a ser impressa.

Le

public java.lang.String Le()
Veja o método Le( false ).

Le

public java.lang.String Le(boolean blocante)
Método que le o que foi mandado pelo servidor FTP.
Parameters:
blocante - se for true o m'etodo vai ficar bloqueado aguardando uma resposta do servidor FTP. Caso contrário, não fica bloqueado.
Returns:
a String lida ou null se houverem problemas.

LeDados

public java.lang.String LeDados(boolean blocante)
Método que le os dadps que foram mandados pelo servidor FTP.
Parameters:
blocante - se for true o m'etodo vai ficar bloqueado aguardando uma resposta do servidor FTP. Caso contrário, não fica bloqueado.
Returns:
a String lida ou null se houverem problemas.

gravaLocal

public void gravaLocal(java.lang.String nome)
Método que copia um grupo de arquivos remotos para um diretório local.
Parameters:
nomes - O arquivo que se quer copiar.

gravaLocal

public void gravaLocal(java.lang.String[] nomes)
Método que copia um grupo de arquivos remotos para um diretório local.
Parameters:
nomes - O arquivo que se quer copiar.

gravaRemoto

public void gravaRemoto(java.io.File[] nomes)
Método que copia um grupo de arquivos locais para um diretório remoto.
Parameters:
nomes - O arquivo que se quer copiar.

gravaRemoto

public void gravaRemoto(java.io.File nome)
Método que copia um grupo de arquivos locais para um diretório remoto.
Parameters:
nomes - O arquivo que se quer copiar.

reiniciaConexaoDados

public void reiniciaConexaoDados()
Método que reestabelece a conexão de dados entre o servidor e a aplicação.