Manipuladores de Conteúdo

Os manipuladores de conteúdo habilitam um browser suportando Java a interpretar um novo formato para distribuição de informação. Um manipulador de conteúdo traduz uma especificação em particular para um tipo de arquivo baseado em MIME para o browser.

O exemplo abaixo mostra um manipulador de conteúdo. Este deve ser copiado para um arquivo denominado plain.java e compilado:


/**
* Manipulador de Arquivos texto.
**/

package net.www.content.text;
import net.www.html.ContentHandler;
import net.www.html.URL;
import java.io.InputStream;
import awt.GifImage;

public class plain extends ContentHandler{
	public Object getContent(InputStream is, URL u){
		StringBuffer sb = new StringBuffer();
		int c;

		while((c = is.read()) >=0){
			sb.appendChar((char) c);
			}
		sb.append("\n\n--Teste de manipulador de conteúdo...\n");
		is.close();
		return sb.toString();
	}
}
Este código é uma simples demonstração. Ele ecoa o conteúdo de um arquivo texto no display do browser e inclui uma mensagem no final.

Os pontos essenciais para a criação de um manipulador de conteúdo para arquivos texto são:

- O código fonte para plain.java inclui sua identificação como um package:

	package net.www.content.text;

- O tipo de arquivo para o manipulador de conteúdo interpretar deve ser um subtipo do MIME. A identificação do package:

	package net.www.content.text;
fornece o subtipo do MIME, onde text corresponde ao subtipo.

- Compila-se o código em Java plain.java e coloca-se o arquivo plain.class em um subdiretório especial do diretório de classes correspondente ao tipo do MIME :

	net/www/content/text

- Para se achar o manipulador de conteúdo, o browser tem que ser informado para procurar na variável CLASSPATH para a localização do diretório de classes.

- Pode-se configurar um arquivo .mailcap para manipular tipos especiais do MIME. Se já existe alguma Helper Application configurada neste arquivo para manipular este tipo do MIME, este item deve ser removido para que o browser possa manipular o tipo dado.

- Pode-se utilizar este manipulador de conteúdo para interpretar qualquer arquivo em qualquer host que tenha a extensão .text. Por exemplo:

	http://www.rpi.edu/~decemj/works/java/src/test.text.