Então galera... estou tendo que fazer um projeto que trata dados persistentes usando essas duas classes. O problema é que eu não estou conseguindo gerar o XML.
Aqui está a classe que tenta gerar o XML
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.beans.XMLEncoder;
public class Blogao {
private Usuario pessoa;
public void createProfile(String login, String senha, String nome_exibicao, String email, String sexo, String dataNasc, String endereco,
String interesses, String quem_sou_eu, String filmes, String musicas, String livros) throws Exception {
pessoa = new Pessoa(login,senha,nome_exibicao,email,sexo,dataNasc,endereco,interesses,quem_sou_eu,filmes,musicas,livros);
XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream("Usuario.xml")));
encoder.writeObject(pessoa);
encoder.close();
}
}
Aqui está a classe pessoa:
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Pessoa implements Usuario {
public Pessoa(String login, String senha, String nomeExib, String email, String sexo, String dataNasc, String endereco,
String interesses, String quemSou, String filmesFav, String musicasFav, String livrosFav) throws Exception {
if (login == null || login.equals("")) {
throw new Exception("Login inválido");
}
if (senha == null || senha.equals("")) {
throw new Exception("Senha inválida");
}
if (email == null || email.equals("")) {
throw new Exception("Email inválido");
}
if (!sexo.equals("Masculino") && !sexo.equals("Feminino") && !sexo.equals("Não informado")) {
throw new Exception("Sexo inválido");
}
if (!dataValida(dataNasc)) {
throw new Exception("Data inválida");
}
}
private boolean dataValida(String dataNasc) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
sdf.setLenient(false);
try {
sdf.parse(dataNasc);
} catch (ParseException e) {
return false;
}
return true;
}
}
O que estou fazendo de errado? Aqui estão as excessões lançadas:
java.lang.InstantiationException: Pessoa
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Pessoa);
Continuing ...
java.lang.InstantiationException: Pessoa
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Pessoa);
Continuing ...
java.lang.InstantiationException: Pessoa
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Pessoa);
Continuing ...
java.lang.InstantiationException: Pessoa
Continuing ...
java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Pessoa);
Continuing ...