p1.aplic.correio
Class CaixaPostal

java.lang.Object
  |
  +--p1.aplic.correio.CaixaPostal
All Implemented Interfaces:
java.io.Serializable

public class CaixaPostal
extends java.lang.Object
implements java.io.Serializable

Classe que representa uma caixa de mensagens de correio eletronico. Uma caixa pode conter várias mensagens. Uma caixa pertence a um "titular".

A caixa inclui um "cursor" de mensagem. Isto é, existe o conceito de "mensagem corrente" e pode-se avançar e recuar na lista de mensagens (mudando assim a mensagem corrente).

Algumas operações podem ser aplicadas à mensagem corrente: excluir, por exemplo. Outras operações se aplicam à caixa como um todo (salvar, removeCaixaPostal).

A caixa postal é salva em disco com a operação salvar. Ao criar uma caixa postal, caso exista uma cópia em disco, a caixa é inicializada com as mensagens que estão no disco.

Version:
1.1
Copyright (C) 1999 Universidade Federal da Paraíba.
Author:
Jacques Philippe Sauvé, jacques@dsc.ufpb.br
See Also:
Serialized Form

Constructor Summary
CaixaPostal()
          Construção de uma CaixaPostal anônima (sem titular).
CaixaPostal(java.lang.String titular)
          Construção de uma Caixa Postal Caso haja uma cópia da caixa postal deste titular em disco, as mensagens em disco são carregados na caixa postal sendo criada.
 
Method Summary
 void avançar()
          Avançar o cursor da caixa postal.
 boolean excluir()
          Excluir a mensagem Corrente da caixa postal.
 java.lang.String getTitular()
          Recupera o titular da caixa postal
 void inserir(Mensagem m)
          Insira uma nova mensagem no final da caixa postal
 java.util.Iterator iterator()
          Forneça um iterador para as mensagens da caixa postal.
 Mensagem mensagemCorrente()
          Recupera a mensagem corrente.
 int númeroDeMensagens()
          Recupera o número de mensagens na caixa postal
 void recuar()
          Recuar o cursor da caixa postal.
static void removeCaixaPostal(java.lang.String titular)
          Remove uma caixa postal armazenada em disco.
 void salvar()
          Salvar a caixa postal em disco.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CaixaPostal

public CaixaPostal()
Construção de uma CaixaPostal anônima (sem titular).

CaixaPostal

public CaixaPostal(java.lang.String titular)
Construção de uma Caixa Postal Caso haja uma cópia da caixa postal deste titular em disco, as mensagens em disco são carregados na caixa postal sendo criada. No início, a mensagem corrente será a primeira mensagem da caixa.
Parameters:
titular - O titular da caixa postal.
Method Detail

getTitular

public java.lang.String getTitular()
Recupera o titular da caixa postal
Returns:
O titular da caixa postal.

númeroDeMensagens

public int númeroDeMensagens()
Recupera o número de mensagens na caixa postal
Returns:
O número de mensagens na caixa postal

inserir

public void inserir(Mensagem m)
Insira uma nova mensagem no final da caixa postal
Parameters:
m - A Mensagem sendo inserida.

mensagemCorrente

public Mensagem mensagemCorrente()
Recupera a mensagem corrente.

A caixa inclui um "cursor" de mensagem. Isto é, existe o conceito de "mensagem corrente" e pode-se avançar e recuar na lista de mensagens (mudando assim a mensagem corrente).

Returns:
A mensagem corrente.

avançar

public void avançar()
Avançar o cursor da caixa postal. A mensagem corrente passa a ser a próxima, caso haja. Se a mensagem corrente for a última da caixa postal, não há mudança.

recuar

public void recuar()
Recuar o cursor da caixa postal. A mensagem corrente passa a ser a anterior, caso haja. Se a mensagem corrente for a primeira da caixa postal, não há mudança.

iterator

public java.util.Iterator iterator()
Forneça um iterador para as mensagens da caixa postal.
Returns:
O iterador de mensagens.

excluir

public boolean excluir()
Excluir a mensagem Corrente da caixa postal. A exclusão é apenas lógica. A mensagem está marcada para ser excluída mas só é, de fato, excluída ao salvar a caixa postal.
Returns:
true, se houve mensagem excluída, false caso contrário (caixa vazia)

salvar

public void salvar()
Salvar a caixa postal em disco. Neste momento, as mensagens marcadas para exclusão são removidas (isto é, não são gravadas em disco)

removeCaixaPostal

public static void removeCaixaPostal(java.lang.String titular)
Remove uma caixa postal armazenada em disco.
Parameters:
titular - O titular da caixa postal a ser removida.