Meu aluno repository não esta compilando, e exibindo a seguinte informação
The constructor AlunoCodec(Codec) is undefined minha classe aluno codec esta conforme abaixo , o que tem de errado?
package br.com.dlsistemas.servicesgeo.codecs;
import java.util.Date;
import org.bson.BsonReader;
import org.bson.BsonString;
import org.bson.BsonValue;
import org.bson.BsonWriter;
import org.bson.Document;
import org.bson.codecs.Codec;
import org.bson.codecs.CollectibleCodec;
import org.bson.codecs.DecoderContext;
import org.bson.codecs.EncoderContext;
import org.bson.types.ObjectId;
import br.com.dlsistemas.servicesgeo.models.Aluno;
import br.com.dlsistemas.servicesgeo.models.Curso;
public class AlunoCodec implements CollectibleCodec<Aluno> {
private Codec<Document> codec;
public AlunoCodec(Codec<Document> codec) {
this.codec = codec;
}
@Override
public void encode(BsonWriter writer, Aluno aluno, EncoderContext encoder) {
ObjectId id = aluno.getId();
String nome = aluno.getNome();
Date dataNascimento = aluno.getDataNascimento();
Curso curso = aluno.getCurso();
Document document = new Document();
document.put("_id", id);
document.put("nome", nome);
document.put("data_nascimento", dataNascimento);
document.put("curso", new Document("nome", curso.getNome()));
codec.encode(writer, document, encoder);
}
@Override
public Class<Aluno> getEncoderClass() {
return Aluno.class;
}
@Override
public Aluno decode(BsonReader reader, DecoderContext decoderContext) {
// TODO Auto-generated method stub
return null;
}
@Override
public Aluno generateIdIfAbsentFromDocument(Aluno aluno) {
return documentHasId(aluno) ? aluno.criarId() : aluno;
}
@Override
public boolean documentHasId(Aluno aluno) {
return aluno.getId() == null;
}
@Override
public BsonValue getDocumentId(Aluno aluno) {
if (!documentHasId(aluno)) {
throw new IllegalStateException("Esse Document não tem id");
}
return new BsonString(aluno.getId().toHexString());
}
}