tecgraf.ftc_1_2.server
Class FileServer

java.lang.Object
  extended by tecgraf.ftc_1_2.server.FileServer

public final class FileServer
extends Object

Representa o servidor de arquivos.

Author:
Tecgraf/PUC-Rio

Field Summary
protected  boolean initialized
          Indica se o servidor ja foi inicializado.
static boolean PLATAFORM_HAS_TRANSFERTO_BUG
          Variável que indica se estamos usando java 7
 
Constructor Summary
FileServer(FileProvider fileProvider)
          Cria um servidor de arquivos.
 
Method Summary
 FileChannelAccessInfo createFileChannelInfo(Object requester, byte[] fileId)
          Cria uma descrição de canal de arquivo.
 FileChannelAccessInfo createFileChannelInfo(Object requester, byte[] fileId, byte[] accessKey)
          Cria uma descrição de canal de arquivo.
 FileChannelAccessInfo createFileChannelInfo(Object requester, byte[] fileId, byte[] accessKey, boolean useTransferTo)
          Cria uma descrição de canal de arquivo.
 void dispatch()
          Inicia o tratamento de eventos.
 void exceptionRaised(Exception e)
          Invocado quando uma exceção é lançada no servidor.
 void exceptionRaised(Exception e, byte[] fileId)
          Invocado quando uma exceção é lançada no servidor.
 FileServerConfig getConfig()
          Retorna Objeto com as configurações utilizadas pelo servidor
 FileServerExceptionHandler getExceptionHandler()
           
 FileChannelRequestInfo getFileChannelInfo(AccessKey accessKey)
          Obtém as informações sobre a requisição de um arquivo, a partir de uma chave de acesso.
 FileProvider getFileProvider()
           
 boolean serverSetup()
          Metodo que faz a inicialização do servidor.
 void setConfig(FileServerConfig config)
           
 void setExceptionHandler(FileServerExceptionHandler exceptionHandler)
          Cadastra um exception handler para receber as excecoes do servidor.
 void stop()
          Solicita a interrupção do tratamento de requisições.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

initialized

protected boolean initialized
Indica se o servidor ja foi inicializado.


PLATAFORM_HAS_TRANSFERTO_BUG

public static final boolean PLATAFORM_HAS_TRANSFERTO_BUG
Variável que indica se estamos usando java 7

Constructor Detail

FileServer

public FileServer(FileProvider fileProvider)
           throws IOException
Cria um servidor de arquivos.

Parameters:
fileProvider - O objeto que prove os arquivos.
Throws:
IOException - Caso ocorra algum erro na criação do servidor.
Method Detail

getFileProvider

public FileProvider getFileProvider()
Returns:
O objeto que prove os arquivos

serverSetup

public boolean serverSetup()
Metodo que faz a inicialização do servidor.

Returns:
false se houver algum erro durante a inicialização

dispatch

public void dispatch()
Inicia o tratamento de eventos.


stop

public void stop()
Solicita a interrupção do tratamento de requisições.


createFileChannelInfo

public FileChannelAccessInfo createFileChannelInfo(Object requester,
                                                   byte[] fileId)
                                            throws InvalidArraySize,
                                                   MaxChannelRequestsException
Cria uma descrição de canal de arquivo.

Parameters:
requester - O requisitante.
fileId - O identificador do arquivo.
Returns:
A descrição de canal de arquivo.
Throws:
InvalidArraySize - Quando chave passada é invalida
MaxChannelRequestsException - Quando o limite de canais nao consumidos é atingido

createFileChannelInfo

public FileChannelAccessInfo createFileChannelInfo(Object requester,
                                                   byte[] fileId,
                                                   byte[] accessKey)
                                            throws InvalidArraySize,
                                                   MaxChannelRequestsException
Cria uma descrição de canal de arquivo.

Parameters:
requester - O requisitante.
fileId - O identificador do arquivo.
accessKey - Chave de acesso ao arquivo.
Returns:
A descrição de canal de arquivo.
Throws:
InvalidArraySize - Quando chave passada é invalida
MaxChannelRequestsException - Quando o limite de canais nao consumidos é atingido

createFileChannelInfo

public FileChannelAccessInfo createFileChannelInfo(Object requester,
                                                   byte[] fileId,
                                                   byte[] accessKey,
                                                   boolean useTransferTo)
                                            throws InvalidArraySize,
                                                   MaxChannelRequestsException
Cria uma descrição de canal de arquivo.

Parameters:
requester - O requisitante.
fileId - O identificador do arquivo.
accessKey - Chave de acesso ao arquivo.
useTransferTo - Indica se o metodo FileChannel.transferTo pode ser utilizado.
Returns:
A descrição de canal de arquivo.
Throws:
InvalidArraySize - Quando chave passada é invalida
MaxChannelRequestsException - Quando o limite de canais nao consumidos é atingido

getFileChannelInfo

public FileChannelRequestInfo getFileChannelInfo(AccessKey accessKey)
Obtém as informações sobre a requisição de um arquivo, a partir de uma chave de acesso.

Parameters:
accessKey - A chave de acesso.
Returns:
As informações sobre a requisição de um arquivo.

exceptionRaised

public void exceptionRaised(Exception e,
                            byte[] fileId)
Invocado quando uma exceção é lançada no servidor.

Parameters:
e - A exceção lançada.
fileId - Identificador do arquivo envolvido no momento do erro

exceptionRaised

public void exceptionRaised(Exception e)
Invocado quando uma exceção é lançada no servidor.

Parameters:
e - A exceção lançada.

getConfig

public FileServerConfig getConfig()
Retorna Objeto com as configurações utilizadas pelo servidor

Returns:
config

setConfig

public void setConfig(FileServerConfig config)
Parameters:
config - Objeto com as configurações utilizadas pelo servidor

getExceptionHandler

public FileServerExceptionHandler getExceptionHandler()
Returns:
O exception handler cadastrado

setExceptionHandler

public void setExceptionHandler(FileServerExceptionHandler exceptionHandler)
Cadastra um exception handler para receber as excecoes do servidor.

Parameters:
exceptionHandler -


Copyright © 2017 Tecgraf/PUC-Rio. All rights reserved.