csdk.v1_0.api.filesystem
Interface IFile


public interface IFile

Interface para representação de arquivos locais e de projeto.

Author:
Tecgraf/PUC-Rio

Method Summary
 IFileLock acquireExclusiveLock(Window window)
          Tenta obter um lock exclusivo para o arquivo.
 IFileLock acquireSharedLock(Window window)
          Tenta obter um lock compartilhado para o arquivo.
 boolean canExecute()
          Indica se o arquivo tem permissão de execução.
 boolean canRead()
          Indica se o arquivo tem permissão de leitura.
 boolean canWrite()
          Indica se o arquivo tem permissão de escrita.
 void close(boolean force)
          Fecha este arquivo.
 boolean exists()
          Retorna se existe o arquivo físico.
 IFile[] getChildren()
          Retorna a lista de arquivos deste diretório.
 FileLocationType getFileLocationType()
          Identifica o tipo do arquivo quanto ao local onde o arquivo está armazenado, podendo ser FileLocationType.LOCAL ou FileLocationType.REMOTE
 InputStream getInputStream()
          Obtém um fluxo de entrada para leitura do arquivo.
 long getModificationDate()
          Consulta a data/hora da última modificação do arquivo.
 String getName()
          Retorna o nome do arquivo.
 OutputStream getOutputStream()
          Obtém um fluxo de saída para escrita no arquivo.
 IFile getParent()
          Retorna o diretório-pai
 String[] getPath()
          Retorna o caminho para o arquivo na forma de um array.
 String getStringPath()
          Retorna o caminho para o arquivo na forma de uma string.
 String getType()
          Informa o tipo do arquivo.
 boolean isDirectory()
          Indica se é um diretório.
 void open(boolean readOnly)
          Abre o arquivo para leitura ou para leitura e escrita.
 long position()
          Informa a posição corrente deste arquivo.
 void position(long newPosition)
          Altera a posição corrente deste arquivo.
 int read(byte[] dst, int off, int len, long position)
          Lê uma seqüência de bytes de um determinado tamanho deste arquivo a partir de uma determinada posição.
 int read(byte[] dst, long position)
          Lê uma seqüência de bytes deste arquivo a partir de uma determinada posição.
 long size()
          Informa o tamanho corrente deste arquivo.
 void write(byte[] src, int off, int len, long position)
          Escreve uma sequência de bytes no arquivo.
 void write(byte[] src, long position)
          Escreve uma sequência de bytes do arquivo.
 

Method Detail

getChildren

IFile[] getChildren()
                    throws Exception
Retorna a lista de arquivos deste diretório.

Returns:
A lista de arquivos deste diretório.
Throws:
Exception - Erro na busca de arquivos do diretório.

getInputStream

InputStream getInputStream()
                           throws IOException
Obtém um fluxo de entrada para leitura do arquivo.

Returns:
Fluxo de entrada para leitura do arquivo.
Throws:
IOException - em caso de falha de I/O no procedimento.

exists

boolean exists()
               throws IOException
Retorna se existe o arquivo físico.

Returns:
true se o arquivo existe ou false caso contrário.
Throws:
IOException - em caso de falha de I/O no procedimento.

getModificationDate

long getModificationDate()
Consulta a data/hora da última modificação do arquivo.

Returns:
a data no formato Date.getTime()

getName

String getName()
Retorna o nome do arquivo.

Returns:
Nome do arquivo.

getOutputStream

OutputStream getOutputStream()
                             throws IOException
Obtém um fluxo de saída para escrita no arquivo.

Returns:
Fluxo de saída para escrita no arquivo.
Throws:
IOException - em caso de falha de I/O no procedimento.

getParent

IFile getParent()
Retorna o diretório-pai

Returns:
o diretório que contem este arquivo.

getPath

String[] getPath()
Retorna o caminho para o arquivo na forma de um array.

Returns:
Caminho para o arquivo na forma de um array.

getStringPath

String getStringPath()
Retorna o caminho para o arquivo na forma de uma string.

Returns:
Caminho para o arquivo na forma de uma string.

getType

String getType()
Informa o tipo do arquivo.

Returns:
O tipo do arquivo.

isDirectory

boolean isDirectory()
Indica se é um diretório.

Returns:
true caso seja diretório ou false caso contrário.

canRead

boolean canRead()
Indica se o arquivo tem permissão de leitura.

Returns:
true se o arquivo tem permissão de leitura, false caso contrário.

canWrite

boolean canWrite()
Indica se o arquivo tem permissão de escrita.

Returns:
true se o arquivo tem permissão de escrita, false caso contrário.

canExecute

boolean canExecute()
Indica se o arquivo tem permissão de execução.

Returns:
true se o arquivo tem permissão de execução, false caso contrário.

open

void open(boolean readOnly)
          throws Exception
Abre o arquivo para leitura ou para leitura e escrita.

Parameters:
readOnly - determinad se o arquivo deve ser aberto para leitura ou para leitura e escrita.
Throws:
Exception - em caso de falha na abertura do arquivo.

read

int read(byte[] dst,
         long position)
         throws Exception
Lê uma seqüência de bytes deste arquivo a partir de uma determinada posição.

Parameters:
dst - O buffer no qual os bytes serão escritos.
position - A posição do arquivo a partir da qual os bytes serão lidos.
Returns:
O número de bytes lidos.
Throws:
Exception - em caso de falha na leitura do arquivo.

read

int read(byte[] dst,
         int off,
         int len,
         long position)
         throws Exception
Lê uma seqüência de bytes de um determinado tamanho deste arquivo a partir de uma determinada posição.

Parameters:
dst - O buffer no qual os bytes serão escritos.
off - O índice do buffer a partir do qual os bytes serão escritos.
len - O número de bytes a ler do arquivo e escrever no buffer.
position - A posição do arquivo a partir do qual os bytes serão lidos.
Returns:
O número de bytes lidos.
Throws:
Exception - em caso de falha na leitura do arquivo.

close

void close(boolean force)
           throws IOException
Fecha este arquivo. Após chamado este método, o objeto que representa o arquivo não poderá mais ser utilizado para leitura e/ou escrita.

Parameters:
force - determina se o arquivo deve ser considerado fechado mesmo em caso de erro.
Throws:
IOException - em caso de falha ao fechar o arquivo.

size

long size()
Informa o tamanho corrente deste arquivo. Reflete o número corrente de bytes do arquivo.

Returns:
Tamanho do arquivo em bytes.

getFileLocationType

FileLocationType getFileLocationType()
Identifica o tipo do arquivo quanto ao local onde o arquivo está armazenado, podendo ser FileLocationType.LOCAL ou FileLocationType.REMOTE

Returns:
Identifica o tipo do arquivo quanto ao local onde o arquivo está armazenado.

write

void write(byte[] src,
           int off,
           int len,
           long position)
           throws IOException,
                  FileLockedException
Escreve uma sequência de bytes no arquivo. Esse método tenta fazer escritas consecutivas até conseguir enviar a quantidade de bytes solicitada. Caso não consiga, o método lança uma exceção.

Parameters:
src - O buffer contendo os bytes a serem escritos no arquivo.
off - O deslocamento no buffer a partir do qual os bytes serão lidos.
len - A quantidade de bytes a serem escritos do arquivo.
position - A posição do arquivo a partir da qual a escrita deve ser iniciada.
Throws:
IOException - em caso de falha ao escrever o arquivo.
FileLockedException - caso o arquivo esteja bloqueado para escrita por outra sessão de usuário.

write

void write(byte[] src,
           long position)
           throws IOException,
                  FileLockedException
Escreve uma sequência de bytes do arquivo. Esse método tenta fazer escritas consecutivas até conseguir enviar a quantidade de bytes solicitada. Caso não consiga, o método lança uma exceção.

Parameters:
src - O buffer contendo os bytes a serem escritos no arquivo.
position - A posição do arquivo a partir da qual a escrita deve ser iniciada.
Throws:
IOException - em caso de falha ao escrever o arquivo.
FileLockedException - caso o arquivo esteja bloqueado para escrita por outra sessão de usuário

position

long position()
              throws IOException
Informa a posição corrente deste arquivo. Reflete o número de bytes a partir do início do arquivo até a posição corrente.

Returns:
Posição corrente do arquivo.
Throws:
IOException - em caso de falha de I/O no procedimento.

position

void position(long newPosition)
              throws IOException
Altera a posição corrente deste arquivo. Reflete o número de bytes a partir do início do arquivo até a posição corrente.

Parameters:
newPosition - Nova posição corrente do arquivo.
Throws:
IOException - em caso de falha de I/O no procedimento.

acquireExclusiveLock

IFileLock acquireExclusiveLock(Window window)
                               throws Exception
Tenta obter um lock exclusivo para o arquivo. Locks exclusivo pode ser obtido apenas um por vez, por arquivo. Caso a RemoteTask seja cancelada, chama o método para remover o lock no servidor

Parameters:
window - janela-mãe para a ação.
Returns:
IFileLock que possui o status do lock
Throws:
Exception - em caso de erro ao obter o lock

acquireSharedLock

IFileLock acquireSharedLock(Window window)
                            throws Exception
Tenta obter um lock compartilhado para o arquivo. Locks compartilhados podem ser obtidos múltiplas vezes. Este método cadastra uma solicitação de lock compartilhado em uma fila priorizada pela ordem de chegada dos pedidos de lock e espera pela notificação de que o lock foi obtido ou seu timeout foi atingido.

Parameters:
window - janela-mãe para a ação.
Returns:
IFileLock que possui o status do lock
Throws:
Exception - em caso de erro ao obter o lock


Copyright © 2013–2014 Tecgraf/PUC-Rio. All rights reserved.