Initial import.
[simdecs_seam.git] / SimDeCS / resources / src / main / org / ufcspa / simdecs / entities / Usuario.java
diff --git a/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Usuario.java b/SimDeCS/resources/src/main/org/ufcspa/simdecs/entities/Usuario.java
new file mode 100644 (file)
index 0000000..8d6b80d
--- /dev/null
@@ -0,0 +1,222 @@
+package org.ufcspa.simdecs.entities;\r
+\r
+import java.io.Serializable;\r
+import java.util.Collection;\r
+import java.util.Date;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.JoinColumn;\r
+import javax.persistence.JoinTable;\r
+import javax.persistence.ManyToMany;\r
+import javax.persistence.ManyToOne;\r
+import javax.persistence.SequenceGenerator;\r
+import javax.persistence.Table;\r
+import javax.persistence.Temporal;\r
+import javax.persistence.TemporalType;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+import org.hibernate.annotations.Index;\r
+import org.ufcspa.simdecs.entities.exceptions.InvalidSexoException;\r
+\r
+@Entity\r
+// Short name: "usu"\r
+@Table(name="Usuario")\r
+@SequenceGenerator(name = "sequenceUsuario", sequenceName = "sqUsuario", initialValue = 1, allocationSize=1)\r
+public class Usuario implements Serializable {\r
+               \r
+       private static final long serialVersionUID = 3970972520019742992L;\r
+\r
+       @GeneratedValue(generator = "sequenceUsuario", strategy = GenerationType.AUTO)\r
+       @Id\r
+       private Long id;\r
+       \r
+       @Column(length=30, nullable=false, unique=true)\r
+       private String login;\r
+       \r
+       @Column(length=20, nullable=false)\r
+       private String senha;\r
+       \r
+       @Column(length=70, nullable=false)\r
+       private String nome;\r
+\r
+       @Column(length=40, nullable=false, unique=true)\r
+       private String email;\r
+       \r
+       @Column(length=100)\r
+       private String funcao;\r
+       \r
+       @Column(length=1, nullable=true)\r
+       private String sexo;\r
+       \r
+       @Column(length=20, nullable=true)\r
+       private String telefone;\r
+       \r
+       @Temporal(TemporalType.DATE)\r
+       private Date dataNascimento;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean aprovado;\r
+       \r
+       @Column(length=1, nullable=false)\r
+       private boolean ativo;\r
+       \r
+       @Temporal(TemporalType.DATE)\r
+       private Date dataCriacao;\r
+       \r
+    @ManyToOne\r
+    @JoinColumn(name = "usu_id", referencedColumnName = "id", nullable = true)\r
+    @Index(name="usu_usu_fk_i")\r
+       private Usuario criadoPor;\r
+\r
+    @ManyToMany\r
+    @JoinTable(        name = "UsuarioGrupo",\r
+                       joinColumns = {@JoinColumn(name = "usu_id")},\r
+                       inverseJoinColumns = {@JoinColumn(name = "gru_id")},\r
+                       uniqueConstraints={@UniqueConstraint(columnNames={"usu_id", "gru_id"})})\r
+    private Collection<Grupo> grupos;\r
+\r
+       public Long getId() {\r
+               return id;\r
+       }\r
+\r
+       public void setId(Long id) {\r
+               this.id = id;\r
+       }\r
+\r
+       public String getLogin() {\r
+               return login;\r
+       }\r
+\r
+       public void setLogin(String login) {\r
+               this.login = login;\r
+       }\r
+\r
+       public String getSenha() {\r
+               return senha;\r
+       }\r
+\r
+       public void setSenha(String senha) {\r
+               this.senha = senha;\r
+       }\r
+\r
+       public String getNome() {\r
+               return nome;\r
+       }\r
+\r
+       public void setNome(String nome) {\r
+               this.nome = nome;\r
+       }\r
+\r
+       public String getEmail() {\r
+               return email;\r
+       }\r
+\r
+       public void setEmail(String email) {\r
+               this.email = email;\r
+       }\r
+\r
+       public String getFuncao() {\r
+               return funcao;\r
+       }\r
+\r
+       public void setFuncao(String funcao) {\r
+               this.funcao = funcao;\r
+       }\r
+\r
+       public String getSexo() {\r
+               return sexo;\r
+       }\r
+\r
+       public void setSexo(String sexo) throws InvalidSexoException {\r
+               if (sexo.equals("F") || sexo.equals("M"))\r
+                       this.sexo = sexo;\r
+               else\r
+                       throw new InvalidSexoException("O sexo deverá ser 'F' ou 'M'!");\r
+       }\r
+\r
+       public String getTelefone() {\r
+               return telefone;\r
+       }\r
+\r
+       public void setTelefone(String telefone) {\r
+               this.telefone = telefone;\r
+       }\r
+\r
+       public Date getDataNascimento() {\r
+               return dataNascimento;\r
+       }\r
+\r
+       public void setDataNascimento(Date dataNascimento) {\r
+               this.dataNascimento = dataNascimento;\r
+       }\r
+\r
+       public boolean isAprovado() {\r
+               return aprovado;\r
+       }\r
+\r
+       public void setAprovado(boolean aprovado) {\r
+               this.aprovado = aprovado;\r
+       }\r
+\r
+       public boolean isAtivo() {\r
+               return ativo;\r
+       }\r
+\r
+       public void setAtivo(boolean ativo) {\r
+               this.ativo = ativo;\r
+       }\r
+\r
+       public Date getDataCriacao() {\r
+               return dataCriacao;\r
+       }\r
+\r
+       public void setDataCriacao(Date dataCriacao) {\r
+               this.dataCriacao = dataCriacao;\r
+       }\r
+\r
+       public Usuario getCriadoPor() {\r
+               return criadoPor;\r
+       }\r
+\r
+       public void setCriadoPor(Usuario criadoPor) {\r
+               this.criadoPor = criadoPor;\r
+       }\r
+\r
+       public Collection<Grupo> getGrupos() {\r
+               return grupos;\r
+       }\r
+\r
+       public void setGrupos(Collection<Grupo> grupos) {\r
+               this.grupos = grupos;\r
+       }\r
+\r
+       @Override\r
+       public int hashCode() {\r
+               final int prime = 31;\r
+               int result = 1;\r
+               result = prime * result + ((id == null) ? 0 : id.hashCode());\r
+               return result;\r
+       }\r
+\r
+       @Override\r
+       public boolean equals(Object obj) {\r
+               if (this == obj)\r
+                       return true;\r
+               if (obj == null)\r
+                       return false;\r
+               if (getClass() != obj.getClass())\r
+                       return false;\r
+               Usuario other = (Usuario) obj;\r
+               if (id == null) {\r
+                       if (other.id != null)\r
+                               return false;\r
+               } else if (!id.equals(other.id))\r
+                       return false;\r
+               return true;\r
+       }\r
+    \r
+}\r