Trabalho para CI062/CI851a - Técnicas Alternativas de Programação

1) Criar um modelo de classes seguindo a seguinte especificação:

O modelo deve representar uma estrutura de diretórios (pastas) e arquivos. As características do modelo são:
- uma pasta contém outras pastas e/ou arquivos. Arquivos não contém outros elementos;
- ambos possuem nome;
- deve ser possível imprimir o nome de ambos;
- um arquivo possui :

- uma extensão;
- um tipo (texto, imagem ou pdf);
- tamanho .

1.1) O modelo de classes deve ser implementado seguinto o padrão Composite

2) Os objetos devem ser instanciados usando o padrão FactoryMethod.

3) Segundo o padrão Visitor, criar:
- um visitor que permita imprimir o nome das pastas e arquivos
- um visitor que permita imprimir o nome dos arquivos de tipo texto.

4) USO: Criar uma classe Programa que :

4.1) instancie pelo menos 3 Pastas e 4 arquivos, sendo ao menos dois texto (seguindo o padrão FactoryMethod).
4.2) use os dois visitors.

Nota.: não é necessário criar arquivos e pastas fisicamente, apenas o modelo objeto.

ENTREGA

Todas as classes (fontes e compilados) devem estar em uma mesma pasta e compactadas em um arquivo trabalho062.jar. O comando para criar um jar é jar cvf trabalho062.jar ./*.

O programa deve poder ser executado com a seguinte linha de comando : java -jar trabalho062.jar

DATA DE ENTREGA : 21/06/2011 . Cada dia de atraso será descontado 10% da nota.

MODO DE ENTREGA : enviar o arquivo trabalho062.jar por email para marcos.ddf _at_ inf.ufpr.br (até as 24h do dia 21/06).
No corpo do email, colocar o nome dos integrantes da equipe (no mínimo 2 e no máximo 3 integrantes). No assunto, preencher com "Entrega trabalho 062".