A B C D E F G H I K L M O P R S T U V W

A

acceptMaxPossible() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retora o valor da politica de aceitação de novos clientes.
acceptMaxPossible() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retora o valor da politica de aceitação de novos clientes.
AccessKey - Class in tecgraf.ftc_1_2.server
Representa uma chave de acesso a um canal de dados.
AccessKey() - Constructor for class tecgraf.ftc_1_2.server.AccessKey
Cria uma chave de acesso a um canal de dados.
AccessKey(byte[]) - Constructor for class tecgraf.ftc_1_2.server.AccessKey
Cria uma chave de acesso a um canal de dados a partir de um conjunto de bytes.

B

ByteBufferUtils - Class in tecgraf.ftc_1_2.utils
Classe utilitária para o tratamento de buffers de bytes ( ByteBuffer).
ByteBufferUtils() - Constructor for class tecgraf.ftc_1_2.utils.ByteBufferUtils
 

C

ChannelClosedReason - Enum in tecgraf.ftc_1_2.server
Enumeração que indica as razoes do porque um arquivo foi fechado.
CHARSET_ENCODING - Static variable in class tecgraf.ftc_1_2.utils.Utils
O conjunto de caracteres utilizado nas conversões de/para array de bytes.
close() - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Solicita o fechamento do arquivo.
close() - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Solicita o fechamento do arquivo.
close(ChannelClosedReason) - Method in class tecgraf.ftc_1_2.server.Session
Fecha a sessão.
closeFileChannel(ChannelClosedReason) - Method in class tecgraf.ftc_1_2.server.Session
Fecha o canal do arquivo e notifica ao servidor de arquivos sobre - * este fechamento.
CloseState - Class in tecgraf.ftc_1_2.server.states
Operação para fechamento de arquivo.
CloseState() - Constructor for class tecgraf.ftc_1_2.server.states.CloseState
Cria a operação de fechamento de arquivo.
CloseState(ErrorCode) - Constructor for class tecgraf.ftc_1_2.server.states.CloseState
Cria a operação de fechamento de arquivo.
CloseState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação para fechamento de arquivo.
CloseState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.CloseState
Cria a operação de fechamento de arquivo.
CloseState(ErrorCode) - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.CloseState
Cria a operação de fechamento de arquivo.
createFileChannel(Object, byte[], boolean) - Method in class tecgraf.ftc_1_2.server.DefaultFileProvider
Cria um canal para um arquivo.
createFileChannel(Object, byte[], boolean) - Method in interface tecgraf.ftc_1_2.server.FileProvider
Cria um canal para um arquivo.
createFileChannelInfo(Object, byte[]) - Method in class tecgraf.ftc_1_2.server.FileServer
Cria uma descrição de canal de arquivo.
createFileChannelInfo(Object, byte[], byte[]) - Method in class tecgraf.ftc_1_2.server.FileServer
Cria uma descrição de canal de arquivo.
createFileChannelInfo(Object, byte[], byte[], boolean) - Method in class tecgraf.ftc_1_2.server.FileServer
Cria uma descrição de canal de arquivo.

D

DefaultFileProvider - Class in tecgraf.ftc_1_2.server
Classe que implementa um provedor de arquivos (FileChannel) para o servidor de arquivos.
DefaultFileProvider() - Constructor for class tecgraf.ftc_1_2.server.DefaultFileProvider
 
DefaultFileServerExceptionHandler - Class in tecgraf.ftc_1_2.server
Classe que implementa um handler padrao de exceções para o servidor de arquivos
DefaultFileServerExceptionHandler() - Constructor for class tecgraf.ftc_1_2.server.DefaultFileServerExceptionHandler
 
dispatch() - Method in class tecgraf.ftc_1_2.server.FileServer
Inicia o tratamento de eventos.

E

equals(Object) - Method in class tecgraf.ftc_1_2.server.AccessKey
ErrorCode - Enum in tecgraf.ftc_1_2.common.logic
Representa os códigos de erros que podem ser gerados por operações ( Operation).
exceptionRaised(Exception, byte[]) - Method in class tecgraf.ftc_1_2.server.DefaultFileServerExceptionHandler
Invocado quando uma exceção é lançada no servidor.
exceptionRaised(Exception) - Method in class tecgraf.ftc_1_2.server.DefaultFileServerExceptionHandler
Invocado quando uma exceção é lançada no servidor.
exceptionRaised(Exception, byte[]) - Method in class tecgraf.ftc_1_2.server.FileServer
Invocado quando uma exceção é lançada no servidor.
exceptionRaised(Exception) - Method in class tecgraf.ftc_1_2.server.FileServer
Invocado quando uma exceção é lançada no servidor.
exceptionRaised(Exception, byte[]) - Method in interface tecgraf.ftc_1_2.server.FileServerExceptionHandler
Invocado quando uma exceção é lançada no servidor.
exceptionRaised(Exception) - Method in interface tecgraf.ftc_1_2.server.FileServerExceptionHandler
Invocado quando uma exceção é lançada no servidor.

F

FailureException - Exception in tecgraf.ftc_1_2.common.exception
Representa uma exceção de falha geral no acesso a arquivos remotos.
FailureException(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.FailureException
Cria a exceção com uma mensagem associada.
FailureException(Throwable) - Constructor for exception tecgraf.ftc_1_2.common.exception.FailureException
Cria a exceção com uma causa associada.
FileChannelAccessInfo - Class in tecgraf.ftc_1_2.server
Representa informações sobre o acesso a um canal de dados.
fileChannelClosed(Object, byte[], ChannelClosedReason) - Method in class tecgraf.ftc_1_2.server.DefaultFileProvider
Indica que um canal para um arquivo foi fechado.
fileChannelClosed(Object, byte[], ChannelClosedReason) - Method in interface tecgraf.ftc_1_2.server.FileProvider
Indica que um canal para um arquivo foi fechado.
FileChannelRequestInfo - Class in tecgraf.ftc_1_2.server
Representa informações sobre a requisição de um canal de dados.
FileLockedException - Exception in tecgraf.ftc_1_2.common.exception
Representa uma exceção indicando que um arquivo não pode ser alterado porque está reservado para outro usuário.
FileLockedException(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.FileLockedException
Cria a exceção com uma mensagem associada.
FileLockedException(Throwable) - Constructor for exception tecgraf.ftc_1_2.common.exception.FileLockedException
Cria a exceção com uma causa associada.
FileProvider - Interface in tecgraf.ftc_1_2.server
O dono do servidor de arquivos.
FileServer - Class in tecgraf.ftc_1_2.server
Representa o servidor de arquivos.
FileServer(FileProvider) - Constructor for class tecgraf.ftc_1_2.server.FileServer
Cria um servidor de arquivos.
FileServerConfig - Interface in tecgraf.ftc_1_2.server
Interface que representa configurações utilizadas no FileServer.
FileServerConfigImpl - Class in tecgraf.ftc_1_2.server
Classe responsavel por armazenar as configurações utilizadas no FileServer.
FileServerConfigImpl() - Constructor for class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
FileServerExceptionHandler - Interface in tecgraf.ftc_1_2.server
Interface que define as operações de um objeto que recebe as exceçoões do servidor.
format(LogRecord) - Method in class tecgraf.ftc_1_2.server.LogFormatter

G

getAccessKey() - Method in class tecgraf.ftc_1_2.server.FileChannelAccessInfo
Obtém a chave de acesso.
getBuffer() - Method in class tecgraf.ftc_1_2.server.Session
Obtém o buffer para comunicação com o cliente.
getBufferSize() - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
 
getChannel() - Method in class tecgraf.ftc_1_2.server.Session
Obtém o canal de comunicação com o cliente.
getChannelRequestTimeout() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna o timeout para o consumo de uma requisição.
getChannelRequestTimeout() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna o timeout para o consumo de uma requisição.
getClientBufferSize() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna Tamanho do espaço de memoria utilizado na comunicaçao com cada cliente.
getClientBufferSize() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna Tamanho do espaço de memoria utilizado na comunicaçao com cada cliente.
getClientTimeout() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna o timeout para conexões com o cliente (em milisegundos)
getClientTimeout() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna
getCode() - Method in enum tecgraf.ftc_1_2.common.logic.ErrorCode
Obtém o código do código de erro.
getCode() - Method in enum tecgraf.ftc_1_2.common.logic.Operation
Obtém o código da operação.
getConfig() - Method in class tecgraf.ftc_1_2.server.FileServer
Retorna Objeto com as configurações utilizadas pelo servidor
getCreationTime() - Method in class tecgraf.ftc_1_2.server.FileChannelRequestInfo
Retorna a hora de criação desse objeto.
getCurrentState() - Method in class tecgraf.ftc_1_2.server.Session
Obtém o estado corrente.
getExceptionHandler() - Method in class tecgraf.ftc_1_2.server.FileServer
 
getFileChannel() - Method in class tecgraf.ftc_1_2.server.Session
Obtém o canal do arquivo.
getFileChannelInfo(AccessKey) - Method in class tecgraf.ftc_1_2.server.FileServer
Obtém as informações sobre a requisição de um arquivo, a partir de uma chave de acesso.
getFileChannelInfo() - Method in class tecgraf.ftc_1_2.server.Session
Obtém informações sobre a requisição do canal de arquivos.
getFileId() - Method in class tecgraf.ftc_1_2.server.FileChannelRequestInfo
Obtém o identificador do arquivo solicitado.
getFileIdentifier() - Method in class tecgraf.ftc_1_2.server.FileChannelAccessInfo
Obtém o identificador do arquivo.
getFileProvider() - Method in class tecgraf.ftc_1_2.server.FileServer
 
getFileServer() - Method in class tecgraf.ftc_1_2.server.Session
Obtém o servidor de arquivos.
getHost() - Method in class tecgraf.ftc_1_2.server.FileChannelAccessInfo
Obtém a máquina do servidor de arquivos.
getHostName() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna O nome do host para o servidor de arquivos.
getHostName() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna O nome do host para o servidor de arquivos.
getLastActivity() - Method in class tecgraf.ftc_1_2.server.Session
Retorna o hora (milisegundos) da ultima atividade realizada.
getLoglevel() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
getLoglevel() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
getMaxChannelRequests() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna o número maximo de requisicoes por canal que o código cliente da biblioteca pode criar sem que as requisiçoes sejam consumidas.
getMaxChannelRequests() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna o número maximo de requisicoes por canal que o código cliente da biblioteca pode criar sem que as requisiçoes sejam consumidas.
getMaxClients() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna O numero maximo de clientes
getMaxClients() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna O numero maximo de clientes
GetOperationState - Class in tecgraf.ftc_1_2.server.states
Responsável por obter a operação solicitada pelo cliente.
GetOperationState() - Constructor for class tecgraf.ftc_1_2.server.states.GetOperationState
Cria o estado de espera por operações.
GetOperationState - Class in tecgraf.ftc_1_2.server.states.v1_1
Responsável por obter a operação solicitada pelo cliente.
GetOperationState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.GetOperationState
Cria o estado de espera por operações.
getOutputLogFilename() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
getOutputLogFilename() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
getPort() - Method in class tecgraf.ftc_1_2.server.FileChannelAccessInfo
Obtém a porta do servidor de arquivos.
getPort() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna a porta para o servidor de arquivos.
getPort() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna a porta para o servidor de arquivos.
getPosition() - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Obtém a posição atual do arquivo.
getPosition() - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Obtém a posição atual do arquivo.
GetPositionState - Class in tecgraf.ftc_1_2.server.states
Operação de obtenção da posição atual do arquivo.
GetPositionState() - Constructor for class tecgraf.ftc_1_2.server.states.GetPositionState
Cria a operação de obtenção da posição atual do arquivo.
GetPositionState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação de obtenção da posição atual do arquivo.
GetPositionState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.GetPositionState
Cria a operação de obtenção da posição atual do arquivo.
getRequester() - Method in class tecgraf.ftc_1_2.server.FileChannelRequestInfo
Obtém o requisitante.
getSelectTimeout() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna Tempo maximo de espera do metodo select em milisegundos.
getSelectTimeout() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna Tempo maximo de espera do metodo select em milisegundos.
getSize() - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Obtém o tamanho do arquivo.
getSize() - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Obtém o tamanho do arquivo.
getSize() - Method in enum tecgraf.ftc_1_2.common.logic.PrimitiveTypeSize
Obtém o tamanho do tipo em bytes.
GetSizeState - Class in tecgraf.ftc_1_2.server.states
Operação de obtenção do tamanho do arquivo.
GetSizeState() - Constructor for class tecgraf.ftc_1_2.server.states.GetSizeState
Cria a operação de obtenção do tamanho do arquivo.
GetSizeState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação de obtenção do tamanho do arquivo.
GetSizeState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.GetSizeState
Cria a operação de obtenção do tamanho do arquivo.

H

hashCode() - Method in class tecgraf.ftc_1_2.server.AccessKey

I

initialized - Variable in class tecgraf.ftc_1_2.server.FileServer
Indica se o servidor ja foi inicializado.
InvalidArraySize - Exception in tecgraf.ftc_1_2.common.exception
Exception que sinaliza que o array recebido não é do tamanho esperado.
InvalidArraySize() - Constructor for exception tecgraf.ftc_1_2.common.exception.InvalidArraySize
Contrutor
InvalidArraySize(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.InvalidArraySize
 
InvalidProtocolVersionException - Exception in tecgraf.ftc_1_2.common.exception
Exceção que indica que o servidor e o cliente não suportam uma mesma versão do protocolo ftc.
InvalidProtocolVersionException(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.InvalidProtocolVersionException
Cria a exceção com uma mensagem associada.
InvalidProtocolVersionException(Throwable) - Constructor for exception tecgraf.ftc_1_2.common.exception.InvalidProtocolVersionException
Cria a exceção com uma causa associada.
IOUtils - Class in tecgraf.ftc_1_2.utils
Classe de métodos utilitários para operações de I/O.
IOUtils() - Constructor for class tecgraf.ftc_1_2.utils.IOUtils
 
isLocked(Object, byte[]) - Method in class tecgraf.ftc_1_2.server.DefaultFileProvider
Verifica se o arquivo possui um lock que impede a escrita.
isLocked(Object, byte[]) - Method in interface tecgraf.ftc_1_2.server.FileProvider
Verifica se o arquivo possui um lock que impede a escrita.
isOpen() - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Verifica se o arquivo está aberto.
isOpen() - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Verifica se o arquivo está aberto.
isReadOnly() - Method in class tecgraf.ftc_1_2.server.Session
Verifica se o canal do arquivo foi aberto como somente leitura.
isTestMode() - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Retorna True se o servidor deve executar em modo de teste.
isTestMode() - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Retorna True se o servidor deve executar em modo de teste.

K

keepAlive() - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Operação que faz um poll no servidor com o intuito de manter a conexao ativa
keepAlive() - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Operação que faz um poll no servidor com o intuito de manter a conexao ativa
KeepAliveState - Class in tecgraf.ftc_1_2.server.states
Operação que mantem uma conexao ativa.
KeepAliveState() - Constructor for class tecgraf.ftc_1_2.server.states.KeepAliveState
Cria a operação de obtenção do tamanho do arquivo.
KEY_SIZE - Static variable in class tecgraf.ftc_1_2.server.AccessKey
O tamanho da chave de acesso.

L

LogFormatter - Class in tecgraf.ftc_1_2.server
Classe responsável por formatar as mensagens de saída do servidor FTC.
LogFormatter() - Constructor for class tecgraf.ftc_1_2.server.LogFormatter
Construtor

M

MAJOR_VERSION - Static variable in class tecgraf.ftc_1_2.common.logic.ProtocolVersion
 
markLastActivity() - Method in class tecgraf.ftc_1_2.server.Session
 
MAX_BYTES - Static variable in class tecgraf.ftc_1_2.server.states.ReadState
Tamanho maximo a ser transmitido na chamada do metodo transferTo do fileChannel.
MAX_BYTES - Static variable in class tecgraf.ftc_1_2.server.states.v1_1.ReadState
Tamanho maximo a ser transmitido na chamada do metodo transferTo do fileChannel.
MaxChannelRequestsException - Exception in tecgraf.ftc_1_2.server
Representa uma exceção de numero maximo de requisicoes de canal criadas no servidor.
MaxChannelRequestsException(String) - Constructor for exception tecgraf.ftc_1_2.server.MaxChannelRequestsException
Cria a exceção com uma mensagem associada.
MaxChannelRequestsException(Throwable) - Constructor for exception tecgraf.ftc_1_2.server.MaxChannelRequestsException
Cria a exceção com uma causa associada.
MaxClientsReachedException - Exception in tecgraf.ftc_1_2.common.exception
Representa uma exceção de numero maximo de clientes no servidor foi atingido.
MaxClientsReachedException(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.MaxClientsReachedException
Cria a exceção com uma mensagem associada.
MaxClientsReachedException(Throwable) - Constructor for exception tecgraf.ftc_1_2.common.exception.MaxClientsReachedException
Cria a exceção com uma causa associada.
MINOR_VERSION - Static variable in class tecgraf.ftc_1_2.common.logic.ProtocolVersion
 

O

open(boolean) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Solicita a abertura do arquivo.
open(boolean) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Solicita a abertura do arquivo.
OpenReadOnlyState - Class in tecgraf.ftc_1_2.server.states
Operação de abertura de um arquivo somente para leitura.
OpenReadOnlyState() - Constructor for class tecgraf.ftc_1_2.server.states.OpenReadOnlyState
Cria uma operação de abertura de um arquivo somente para leitura.
OpenReadOnlyState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação de abertura de um arquivo somente para leitura.
OpenReadOnlyState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.OpenReadOnlyState
Cria uma operação de abertura de um arquivo somente para leitura.
OpenReadWriteState - Class in tecgraf.ftc_1_2.server.states
Operação de abertura de um arquivo para leitura e para gravação.
OpenReadWriteState() - Constructor for class tecgraf.ftc_1_2.server.states.OpenReadWriteState
Cria uma operação de abertura de um arquivo para leitura e para gravação.
OpenReadWriteState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação de abertura de um arquivo para leitura e para gravação.
OpenReadWriteState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.OpenReadWriteState
Cria uma operação de abertura de um arquivo para leitura e para gravação.
OpenState - Class in tecgraf.ftc_1_2.server.states
Operação de abertura de um arquivo.
OpenState(boolean) - Constructor for class tecgraf.ftc_1_2.server.states.OpenState
Cria uma operação de abertura de arquivo.
OpenState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação de abertura de um arquivo.
OpenState(boolean) - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.OpenState
Cria uma operação de abertura de arquivo.
OpenState.InternalState - Enum in tecgraf.ftc_1_2.server.states
Representa os estados internos desta operação.
OpenState.InternalState - Enum in tecgraf.ftc_1_2.server.states.v1_1
Representa os estados internos desta operação.
Operation - Enum in tecgraf.ftc_1_2.common.logic
Representa uma operação que pode ser realizada num RemoteFileChannel.

P

PADDING - Static variable in class tecgraf.ftc_1_2.common.logic.ProtocolVersion
 
PATCH_VERSION - Static variable in class tecgraf.ftc_1_2.common.logic.ProtocolVersion
 
PermissionException - Exception in tecgraf.ftc_1_2.common.exception
Representa uma exceção de falta de permissão no acesso a arquivos remotos.
PermissionException(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.PermissionException
Cria a exceção com uma mensagem associada.
PermissionException(Throwable) - Constructor for exception tecgraf.ftc_1_2.common.exception.PermissionException
Cria a exceção com uma causa associada.
PLATAFORM_HAS_TRANSFERTO_BUG - Static variable in class tecgraf.ftc_1_2.server.FileServer
Variável que indica se estamos usando java 7
PrimitiveTypeSize - Enum in tecgraf.ftc_1_2.common.logic
Contém o tamanho em bytes dos tipos primitivos.
PROTOCOL_IDENTIFICATION - Static variable in class tecgraf.ftc_1_2.common.logic.ProtocolVersion
 
ProtocolVersion - Class in tecgraf.ftc_1_2.common.logic
 
ProtocolVersion() - Constructor for class tecgraf.ftc_1_2.common.logic.ProtocolVersion
 

R

read(byte[]) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Lê uma sequência de bytes do arquivo.
read(byte[], long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Lê uma sequência de bytes do arquivo.
read(byte[], int, int) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Lê uma sequência de bytes do arquivo.
read(byte[], int, int, long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Lê uma sequência de bytes do arquivo.
read(byte[]) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Lê uma sequência de bytes do arquivo.
read(byte[], long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Lê uma sequência de bytes do arquivo.
read(byte[], int, int) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Lê uma sequência de bytes do arquivo.
read(byte[], int, int, long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Lê uma sequência de bytes do arquivo.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.CloseState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.GetOperationState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.GetPositionState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.GetSizeState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.KeepAliveState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.OpenState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.ReadState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.SetPositionState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.SetSizeState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in interface tecgraf.ftc_1_2.server.states.State
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.CloseState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.GetOperationState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.GetPositionState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.GetSizeState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.OpenState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.ReadState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.SetPositionState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.SetSizeState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.ValidateKeyState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.WriteState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.ValidateKeyState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.VersionHandshakeState
Chamado quando um cliente está tentando enviar dados para o estado.
read(Session) - Method in class tecgraf.ftc_1_2.server.states.WriteState
Chamado quando um cliente está tentando enviar dados para o estado.
readByte(ByteBuffer, ReadableByteChannel) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Lê uma valor do tipo byte.
readLong(ByteBuffer, ReadableByteChannel) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Lê uma valor do tipo long.
ReadState - Class in tecgraf.ftc_1_2.server.states
Operação para leitura de dados a partir de uma determinada posição.
ReadState() - Constructor for class tecgraf.ftc_1_2.server.states.ReadState
Cria a operação para leitura de dados a partir de uma determinada posição.
ReadState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação para leitura de dados a partir de uma determinada posição.
ReadState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.ReadState
Cria a operação para leitura de dados a partir de uma determinada posição.
RemoteFileChannel - Interface in tecgraf.ftc_1_2.client
Representa um canal de acesso a um arquivo remoto.
RemoteFileChannelImpl - Class in tecgraf.ftc_1_2.client
Representa uma implementação de um canal de arquivo remoto.
RemoteFileChannelImpl(byte[], boolean, String, int, byte[]) - Constructor for class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Cria um arquivo remoto.
RemoteFileException - Exception in tecgraf.ftc_1_2.common.exception
Representa uma exceção genérica do acesso a arquivos remotos.
RemoteFileException(String) - Constructor for exception tecgraf.ftc_1_2.common.exception.RemoteFileException
Cria a exceção com uma mensagem associada.
RemoteFileException(Throwable) - Constructor for exception tecgraf.ftc_1_2.common.exception.RemoteFileException
Cria a exceção com uma causa associada.

S

serverSetup() - Method in class tecgraf.ftc_1_2.server.FileServer
Metodo que faz a inicialização do servidor.
Session - Class in tecgraf.ftc_1_2.server
Representa uma sessão de acesso a um arquivo no servidor.
setAcceptMaxPossible(boolean) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define a politica de aceitação de novos clientes.
setAcceptMaxPossible(boolean) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Define a politica de aceitação de novos clientes.
setBufferSize(int) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
 
setChannelRequestTimeout(long) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define o timeout para o consumo de uma requisição.
setChannelRequestTimeout(long) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Define o timeout para o consumo de uma requisição.
setClientBufferSize(int) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
setClientBufferSize(int) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
setClientTimeout(long) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define o timeout das conexões com o cliente (em milisegundos).
setClientTimeout(long) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
setConfig(FileServerConfig) - Method in class tecgraf.ftc_1_2.server.FileServer
 
setCurrentState(State) - Method in class tecgraf.ftc_1_2.server.Session
Define o estado corrente.
setExceptionHandler(FileServerExceptionHandler) - Method in class tecgraf.ftc_1_2.server.FileServer
Cadastra um exception handler para receber as excecoes do servidor.
setFileChannel(FileChannel) - Method in class tecgraf.ftc_1_2.server.Session
Define o canal do arquivo.
setFileChannelInfo(FileChannelRequestInfo) - Method in class tecgraf.ftc_1_2.server.Session
Define as informações sobre a requisição do canal de arquivos.
setHostName(String) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
setHostName(String) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
setLoglevel(Level) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define o nível de logging.
setLoglevel(Level) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Define o nível de logging
setMaxChannelRequests(int) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define o número maximo de requisicoes por canal que o código cliente da biblioteca pode criar sem que as requisiçoes sejam consumidas.
setMaxChannelRequests(int) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Define o número maximo de requisicoes por canal que o código cliente da biblioteca pode criar sem que as requisiçoes sejam consumidas.
setMaxClients(int) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
setMaxClients(int) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
setOutputLogFilename(String) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define o nome do arquivo de saida que sera gravado o log.
setOutputLogFilename(String) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Define o nome do arquivo de saida do log.
setPort(int) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
setPort(int) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
setPosition(long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Define a nova posição do arquivo.
setPosition(long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Define a nova posição do arquivo.
SetPositionState - Class in tecgraf.ftc_1_2.server.states
Operação para definir a nova posição do arquivo.
SetPositionState() - Constructor for class tecgraf.ftc_1_2.server.states.SetPositionState
Cria a operação para definir a nova posição do arquivo.
SetPositionState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação para definir a nova posição do arquivo.
SetPositionState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.SetPositionState
Cria a operação para definir a nova posição do arquivo.
setReadOnly(boolean) - Method in class tecgraf.ftc_1_2.server.Session
Define se o canal do arquivo foi aberto como somente leitura.
setSelectTimeout(long) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
 
setSelectTimeout(long) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
 
setSize(long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Altera o tamanho do arquivo para um novo tamanho.
setSize(long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Altera o tamanho do arquivo para um novo tamanho.
SetSizeState - Class in tecgraf.ftc_1_2.server.states
Operação para truncar o arquivo para um novo tamanho.
SetSizeState() - Constructor for class tecgraf.ftc_1_2.server.states.SetSizeState
Cria a operação para ajustar o arquivo para um novo tamanho.
SetSizeState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação para truncar o arquivo para um novo tamanho.
SetSizeState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.SetSizeState
Cria a operação para ajustar o arquivo para um novo tamanho.
setTestMode(boolean) - Method in interface tecgraf.ftc_1_2.server.FileServerConfig
Define se o servidor deve executar em modo de teste.
setTestMode(boolean) - Method in class tecgraf.ftc_1_2.server.FileServerConfigImpl
Define se o servidor deve executar em modo de teste.
State - Interface in tecgraf.ftc_1_2.server.states
Representa o estado relativo a uma operação num servidor de arquivos.
stop() - Method in class tecgraf.ftc_1_2.server.FileServer
Solicita a interrupção do tratamento de requisições.

T

tecgraf.ftc_1_2.client - package tecgraf.ftc_1_2.client
 
tecgraf.ftc_1_2.common.exception - package tecgraf.ftc_1_2.common.exception
 
tecgraf.ftc_1_2.common.logic - package tecgraf.ftc_1_2.common.logic
 
tecgraf.ftc_1_2.server - package tecgraf.ftc_1_2.server
 
tecgraf.ftc_1_2.server.states - package tecgraf.ftc_1_2.server.states
 
tecgraf.ftc_1_2.server.states.v1_1 - package tecgraf.ftc_1_2.server.states.v1_1
 
tecgraf.ftc_1_2.utils - package tecgraf.ftc_1_2.utils
 
toString() - Method in class tecgraf.ftc_1_2.server.AccessKey
transferFrom(InputStream, long, long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Transfere os dados de um fluxo de entrada para o arquivo.
transferFrom(RemoteFileChannel, long, long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Transfere os de um outro arquivo remoto para o arquivo.
transferFrom(InputStream, long, long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Transfere os dados de um fluxo de entrada para o arquivo.
transferFrom(RemoteFileChannel, long, long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Transfere os de um outro arquivo remoto para o arquivo.
transferFromNonBlock(FileChannel, long, long, ReadableByteChannel, ByteBuffer) - Static method in class tecgraf.ftc_1_2.utils.IOUtils
 
transferTo(long, long, OutputStream) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Transfere os dados do arquivo para um fluxo de saída.
transferTo(long, long, RemoteFileChannel) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Transfere os dados do arquivo para um outro arquivo remoto.
transferTo(long, long, OutputStream) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Transfere os dados do arquivo para um fluxo de saída.
transferTo(long, long, RemoteFileChannel) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Transfere os dados do arquivo para um outro arquivo remoto.
transferTo(FileChannel, long, long, WritableByteChannel) - Static method in class tecgraf.ftc_1_2.utils.IOUtils
Sobrecarga do método IOUtils.transferTo(FileChannel, long, long, WritableByteChannel, ByteBuffer) que já especifica um buffer default de 1 MB.
transferTo(FileChannel, long, long, WritableByteChannel, ByteBuffer) - Static method in class tecgraf.ftc_1_2.utils.IOUtils
Método para transferência de bytes de um FileChannel para um WritableByteChannel.
transferToNonBlock(FileChannel, long, long, WritableByteChannel, ByteBuffer) - Static method in class tecgraf.ftc_1_2.utils.IOUtils
Método para transferência de bytes de um FileChannel para um WritableByteChannel.

U

useTransferTo() - Method in class tecgraf.ftc_1_2.server.FileChannelRequestInfo
Retorna Indicador se o arquivo é normal
useTransferTo(boolean) - Method in class tecgraf.ftc_1_2.server.FileChannelRequestInfo
 
Utils - Class in tecgraf.ftc_1_2.utils
Classe utilitária.
Utils() - Constructor for class tecgraf.ftc_1_2.utils.Utils
 

V

ValidateKeyState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação de obtenção e validação de uma chave de acesso.
ValidateKeyState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.ValidateKeyState
Cria a operação de obtenção e validação de uma chave de acesso.
ValidateKeyState - Class in tecgraf.ftc_1_2.server.states
Operação de obtenção e validação de uma chave de acesso.
ValidateKeyState() - Constructor for class tecgraf.ftc_1_2.server.states.ValidateKeyState
Cria a operação de obtenção e validação de uma chave de acesso.
valueOf(String) - Static method in enum tecgraf.ftc_1_2.common.logic.ErrorCode
Returns the enum constant of this type with the specified name.
valueOf(byte) - Static method in enum tecgraf.ftc_1_2.common.logic.ErrorCode
Obtém um código de erro a partir de seu código.
valueOf(String) - Static method in enum tecgraf.ftc_1_2.common.logic.Operation
Returns the enum constant of this type with the specified name.
valueOf(byte) - Static method in enum tecgraf.ftc_1_2.common.logic.Operation
Obtém uma operação a partir de seu código.
valueOf(String) - Static method in enum tecgraf.ftc_1_2.common.logic.PrimitiveTypeSize
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum tecgraf.ftc_1_2.server.ChannelClosedReason
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum tecgraf.ftc_1_2.server.states.OpenState.InternalState
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum tecgraf.ftc_1_2.server.states.v1_1.OpenState.InternalState
Returns the enum constant of this type with the specified name.
values() - Static method in enum tecgraf.ftc_1_2.common.logic.ErrorCode
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum tecgraf.ftc_1_2.common.logic.Operation
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum tecgraf.ftc_1_2.common.logic.PrimitiveTypeSize
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum tecgraf.ftc_1_2.server.ChannelClosedReason
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum tecgraf.ftc_1_2.server.states.OpenState.InternalState
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum tecgraf.ftc_1_2.server.states.v1_1.OpenState.InternalState
Returns an array containing the constants of this enum type, in the order they are declared.
VersionHandshakeState - Class in tecgraf.ftc_1_2.server.states
Classe que implementa o estado de handshake inicial.
VersionHandshakeState() - Constructor for class tecgraf.ftc_1_2.server.states.VersionHandshakeState
Cria o estado que lida com o handshake inicial.

W

write(byte[]) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Escreve uma sequência de bytes no arquivo.
write(byte[], long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Escreve uma sequência de bytes no arquivo.
write(byte[], int, int) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Escreve uma sequência de bytes no arquivo.
write(byte[], int, int, long) - Method in interface tecgraf.ftc_1_2.client.RemoteFileChannel
Escreve uma sequência de bytes no arquivo.
write(byte[]) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Escreve uma sequência de bytes no arquivo.
write(byte[], long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Escreve uma sequência de bytes no arquivo.
write(byte[], int, int) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Escreve uma sequência de bytes no arquivo.
write(byte[], int, int, long) - Method in class tecgraf.ftc_1_2.client.RemoteFileChannelImpl
Escreve uma sequência de bytes no arquivo.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.CloseState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.GetOperationState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.GetPositionState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.GetSizeState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.KeepAliveState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.OpenState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.ReadState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.SetPositionState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.SetSizeState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in interface tecgraf.ftc_1_2.server.states.State
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.CloseState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.GetOperationState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.GetPositionState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.GetSizeState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.OpenState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.ReadState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.SetPositionState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.SetSizeState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.ValidateKeyState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.v1_1.WriteState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.ValidateKeyState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.VersionHandshakeState
Chamado quando um cliente está tentando receber dados do estado.
write(Session) - Method in class tecgraf.ftc_1_2.server.states.WriteState
Chamado quando um cliente está tentando receber dados do estado.
writeByte(ByteBuffer, WritableByteChannel, byte) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Escreve um valor do tipo byte no canal.
writeByte(ByteBuffer, WritableByteChannel, int, byte) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Escreve um valor do tipo byte no canal.
writeBytes(ByteBuffer, WritableByteChannel, byte[]) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Escreve um valor do tipo byte[] no canal.
writeBytes(ByteBuffer, WritableByteChannel, int, byte[]) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Escreve um valor do tipo byte[] no canal.
writeLong(ByteBuffer, WritableByteChannel, long) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Escreve um valor do tipo long no canal.
writeLong(ByteBuffer, WritableByteChannel, int, long) - Static method in class tecgraf.ftc_1_2.utils.ByteBufferUtils
Escreve um valor do tipo long no canal.
WriteState - Class in tecgraf.ftc_1_2.server.states.v1_1
Operação para escrita de dados a partir de uma determinada posição.
WriteState() - Constructor for class tecgraf.ftc_1_2.server.states.v1_1.WriteState
Cria operação para escrita de dados a partir de uma determinada posição.
WriteState - Class in tecgraf.ftc_1_2.server.states
Operação para escrita de dados a partir de uma determinada posição.
WriteState() - Constructor for class tecgraf.ftc_1_2.server.states.WriteState
Cria operação para escrita de dados a partir de uma determinada posição.

A B C D E F G H I K L M O P R S T U V W

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