package br.com.dextra.dextranet.grupo; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import br.com.dextra.dextranet.persistencia.Entidade; import com.google.appengine.api.datastore.Entity; public class Membro extends Entidade { private String idUsuario; private String idGrupo; private String nomeUsuario; private String email; // TODO: refatorar recebendo o objeto usuario e o objeto grupo public Membro(String idUsuario, String idGrupo, String nomeUsuario, String email) { super(); this.idUsuario = idUsuario; this.idGrupo = idGrupo; this.nomeUsuario = nomeUsuario; this.email = email; } public Membro(Entity entity) { this.id = (String) entity.getProperty(MembroFields.id.name()); this.idGrupo = (String) entity.getProperty(MembroFields.idGrupo.name()); this.idUsuario = (String) entity.getProperty(MembroFields.idUsuario.name()); this.nomeUsuario = (String) entity.getProperty(MembroFields.nomeUsuario.name()); this.email = (String) entity.getProperty(MembroFields.email.name()); } @Override public Entity toEntity() { Entity entidade = new Entity(this.getKey(this.getClass())); entidade.setProperty(MembroFields.id.name(), this.id); entidade.setProperty(MembroFields.idGrupo.name(), this.idGrupo); entidade.setProperty(MembroFields.idUsuario.name(), this.idUsuario); entidade.setProperty(MembroFields.nomeUsuario.name(), this.nomeUsuario); entidade.setProperty(MembroFields.email.name(), this.email); return entidade; } public String getId() { return id; } public String getIdGrupo() { return idGrupo; } public String getIdUsuario() { return idUsuario; } public String getNomeUsuario() { return nomeUsuario; } public void setNomeUsuario(String nomeUsuario) { this.nomeUsuario = nomeUsuario; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public boolean equals(Object obj) { Membro membro = (Membro) obj; return new EqualsBuilder() .append(getIdGrupo(), membro.getIdGrupo()) .append(getIdUsuario(), membro.getIdUsuario()) .append(getEmail(), membro.getEmail()).isEquals(); } @Override public int hashCode() { return new HashCodeBuilder(17, 37) .append(getIdGrupo()) .append(getIdUsuario()) .append(getEmail()).hashCode(); } @Override public String toString() { return new ToStringBuilder(this.getClass()) .append("id", this.id) .append("idUsuario", this.idUsuario) .append("nomeUsuario", this.nomeUsuario) .append("idGrupo", this.idGrupo) .append("email", this.email).toString(); } }