tecgraf.ftc_1_3.client
Interface RemoteFileChannel

All Superinterfaces:
Serializable
All Known Implementing Classes:
RemoteFileChannelImpl

public interface RemoteFileChannel
extends Serializable

Representa um canal de acesso a um arquivo remoto.

Author:
Tecgraf/PUC-Rio

Method Summary
 void close()
          Solicita o fechamento do arquivo.
 long getPosition()
          Obtém a posição atual do arquivo.
 long getSize()
          Obtém o tamanho do arquivo.
 boolean isOpen()
          Verifica se o arquivo está aberto.
 void keepAlive()
          Operação que faz um poll no servidor com o intuito de manter a conexao ativa
 void open(boolean readOnly)
          Solicita a abertura do arquivo.
 int read(byte[] target)
          Lê uma sequência de bytes do arquivo.
 int read(byte[] target, int offset, int length)
          Lê uma sequência de bytes do arquivo.
 int read(byte[] target, int offset, int length, long position)
          Lê uma sequência de bytes do arquivo.
 int read(byte[] target, long position)
          Lê uma sequência de bytes do arquivo.
 void setPosition(long position)
          Define a nova posição do arquivo.
 void setSize(long size)
          Altera o tamanho do arquivo para um novo tamanho.
 long transferFrom(InputStream source, long position, long count)
          Transfere os dados de um fluxo de entrada para o arquivo.
 long transferFrom(RemoteFileChannel source, long position, long count)
          Transfere os de um outro arquivo remoto para o arquivo.
 long transferTo(long position, long count, OutputStream target)
          Transfere os dados do arquivo para um fluxo de saída.
 long transferTo(long position, long count, RemoteFileChannel target)
          Transfere os dados do arquivo para um outro arquivo remoto.
 int write(byte[] source)
          Escreve uma sequência de bytes no arquivo.
 int write(byte[] source, int offset, int length)
          Escreve uma sequência de bytes no arquivo.
 int write(byte[] source, int offset, int length, long position)
          Escreve uma sequência de bytes no arquivo.
 int write(byte[] source, long position)
          Escreve uma sequência de bytes no arquivo.
 

Method Detail

open

void open(boolean readOnly)
          throws PermissionException,
                 FileNotFoundException,
                 FailureException,
                 MaxClientsReachedException,
                 InvalidProtocolVersionException
Solicita a abertura do arquivo.

Parameters:
readOnly - Indica se o arquivo deve ser aberto somente para leitura ou não.
Throws:
PermissionException - Caso o usuário não tenha permissão para realizar o modo de abertura solicitado.
FileNotFoundException - Caso o arquivo não exista.
FailureException - Caso ocorra alguma falha no procedimento.
MaxClientsReachedException - Caso o servidor não possa mais receber clientes.
InvalidProtocolVersionException - Caso o servidor não suporte a versão do protocolo utilizada pelo cliente.

isOpen

boolean isOpen()
Verifica se o arquivo está aberto.

Returns:
true caso o arquivo esteja aberto, ou false, caso contrário.

close

void close()
           throws FailureException
Solicita o fechamento do arquivo.

Throws:
FailureException - Caso ocorra alguma falha no procedimento.

getPosition

long getPosition()
                 throws FailureException
Obtém a posição atual do arquivo.

Returns:
A posição atual do arquivo ou -1, caso ocorra algum erro.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

setPosition

void setPosition(long position)
                 throws FailureException
Define a nova posição do arquivo.

Parameters:
position - A nova posição.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

getSize

long getSize()
             throws FailureException
Obtém o tamanho do arquivo.

Returns:
O tamanho do arquivo ou -1, caso ocorra algum erro.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

setSize

void setSize(long size)
             throws PermissionException,
                    FailureException
Altera o tamanho do arquivo para um novo tamanho.

Parameters:
size - O novo tamanho.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.

read

int read(byte[] target)
         throws FailureException
Lê uma sequência de bytes do arquivo.

Parameters:
target - O buffer.
Returns:
A quantidade de bytes lidos.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

read

int read(byte[] target,
         long position)
         throws FailureException
Lê uma sequência de bytes do arquivo.

Parameters:
target - O buffer.
position - A posição do arquivo a partir da qual a leitura vai ser iniciada.
Returns:
A quantidade de bytes lidos.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

read

int read(byte[] target,
         int offset,
         int length)
         throws FailureException
Lê uma sequência de bytes do arquivo.

Parameters:
target - O buffer.
offset - O deslocamento no buffer.
length - A quantidade máxima de bytes a serem lidos.
Returns:
A quantidade de bytes lidos.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

read

int read(byte[] target,
         int offset,
         int length,
         long position)
         throws FailureException
Lê uma sequência de bytes do arquivo.

Parameters:
target - O buffer.
offset - O deslocamento no buffer.
length - A quantidade máxima de bytes a serem lidos.
position - A posição do arquivo a partir da qual a leitura vai ser iniciada.
Returns:
A quantidade de bytes lidos.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

write

int write(byte[] source)
          throws PermissionException,
                 FailureException,
                 FileLockedException
Escreve uma sequência de bytes no arquivo.

Parameters:
source - O buffer.
Returns:
A quantidade de bytes escritos.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Indica que o arquivo está reservado para outro usuário.

write

int write(byte[] source,
          long position)
          throws PermissionException,
                 FailureException,
                 FileLockedException
Escreve uma sequência de bytes no arquivo.

Parameters:
source - O buffer.
position - A posição do arquivo a partir da qual a escrita vai ser iniciada.
Returns:
A quantidade de bytes escritos.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Indica que o arquivo está reservado para outro usuário.

write

int write(byte[] source,
          int offset,
          int length)
          throws PermissionException,
                 FailureException,
                 FileLockedException
Escreve uma sequência de bytes no arquivo.

Parameters:
source - O buffer.
offset - O deslocamento no buffer.
length - A quantidade máxima de bytes a serem escritos.
Returns:
A quantidade de bytes escritos.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Indica que o arquivo está reservado para outro usuário.

write

int write(byte[] source,
          int offset,
          int length,
          long position)
          throws PermissionException,
                 FailureException,
                 FileLockedException
Escreve uma sequência de bytes no arquivo.

Parameters:
source - O buffer.
offset - O deslocamento no buffer.
length - A quantidade máxima de bytes a serem escritos.
position - A posição do arquivo a partir da qual a escrita vai ser iniciada.
Returns:
A quantidade de bytes escritos.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Indica que o arquivo está reservado para outro usuário.

transferTo

long transferTo(long position,
                long count,
                OutputStream target)
                throws FailureException
Transfere os dados do arquivo para um fluxo de saída.

Parameters:
position - A posição inicial a partir daqual o arquivo será lido.
count - A quantidade de bytes que serão transferidos.
target - O fluxo de saída que receberá os dados do arquivo.
Returns:
A quantidade de bytes efetivamente transferidos.
Throws:
FailureException - Caso ocorra alguma falha no procedimento.

transferTo

long transferTo(long position,
                long count,
                RemoteFileChannel target)
                throws PermissionException,
                       FailureException,
                       FileLockedException
Transfere os dados do arquivo para um outro arquivo remoto.

Parameters:
position - A posição inicial a partir daqual o arquivo será lido.
count - A quantidade de bytes que serão transferidos.
target - O canal do arquivo que receberá os dados.
Returns:
A quantidade de bytes efetivamente transferidos.
Throws:
PermissionException - Caso o outro arquivo remoto tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Caso o outro arquivo remoto esteja reservado para outro usuário.

transferFrom

long transferFrom(InputStream source,
                  long position,
                  long count)
                  throws PermissionException,
                         FailureException,
                         FileLockedException
Transfere os dados de um fluxo de entrada para o arquivo.

Parameters:
source - O fluxo de entrada.
position - A posição inicial a partir daqual o arquivo será escrito.
count - A quantidade de bytes que serão transferidos.
Returns:
A quantidade de bytes efetivamente transferidos.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Indica que o arquivo está reservado para outro usuário.

transferFrom

long transferFrom(RemoteFileChannel source,
                  long position,
                  long count)
                  throws PermissionException,
                         FailureException,
                         FileLockedException
Transfere os de um outro arquivo remoto para o arquivo.

Parameters:
source - O canal do arquivo de entrada.
position - A posição inicial a partir daqual o arquivo será escrito.
count - A quantidade de bytes que serão transferidos.
Returns:
A quantidade de bytes efetivamente transferidos.
Throws:
PermissionException - Caso o arquivo tenha sido aberto somente para leitura.
FailureException - Caso ocorra alguma falha no procedimento.
FileLockedException - Indica que o arquivo está reservado para outro usuário.

keepAlive

void keepAlive()
               throws FailureException
Operação que faz um poll no servidor com o intuito de manter a conexao ativa

Throws:
FailureException - Caso ocorra alguma falha na operação.


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