package br.usp.ime.academicdevoir.entidade; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import javax.persistence.Embeddable; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.validation.constraints.Future; @Embeddable public class PropriedadesDaListaDeExercicios { /** * @uml.property name="nome" */ private String nome; /** * @uml.property name="enunciado" */ private String enunciado; /** * @uml.property name="peso" */ private Integer peso; /** * @uml.property name="visivel" */ private Boolean visivel; /** * @uml.property name="prazoDeEntrega" */ @Temporal(TemporalType.TIMESTAMP) @Future private Date prazoDeEntrega; private Integer numeroMaximoDeEnvios; @Enumerated(EnumType.ORDINAL) private AutoCorrecao autoCorrecao; public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getEnunciado() { return enunciado; } public void setEnunciado(String enunciado) { this.enunciado = enunciado; } public Integer getPeso() { return peso; } public void setPeso(Integer peso) { this.peso = peso; } public Boolean getVisivel() { return visivel; } public void setVisivel(Boolean visivel) { this.visivel = visivel; } public Date getPrazoDeEntrega() { return prazoDeEntrega; } public List<Integer> getPrazoPrazoDeEntregaEmLista() { List<Integer> prazoDeEntrega = new ArrayList<Integer>(); Calendar data = Calendar.getInstance(); data.setTimeInMillis(this.prazoDeEntrega.getTime()); prazoDeEntrega.add(data.get(Calendar.DAY_OF_MONTH)); prazoDeEntrega.add(data.get(Calendar.MONTH)); prazoDeEntrega.add(data.get(Calendar.YEAR)); prazoDeEntrega.add(data.get(Calendar.HOUR_OF_DAY)); prazoDeEntrega.add(data.get(Calendar.MINUTE)); return prazoDeEntrega; } public String getPrazoDeEntregaFormatado() { SimpleDateFormat prazo = new SimpleDateFormat( "EEE, dd'/'MM'/'yyyy HH:mm"); return prazo.format(prazoDeEntrega); } public void setPrazoDeEntrega(Date prazoDeEntrega) { this.prazoDeEntrega = prazoDeEntrega; } public void setPrazoDeEntrega(List<Integer> prazoDeEntrega) { Calendar data = Calendar.getInstance(); data.set(prazoDeEntrega.get(2).intValue(), prazoDeEntrega.get(1).intValue() - 1, prazoDeEntrega.get(0).intValue(), prazoDeEntrega .get(3).intValue(), prazoDeEntrega.get(4).intValue()); this.prazoDeEntrega = new Date(data.getTimeInMillis()); } public Integer getNumeroMaximoDeEnvios() { return numeroMaximoDeEnvios; } public void setNumeroMaximoDeEnvios(Integer numeroMaximoDeEnvios) { this.numeroMaximoDeEnvios = numeroMaximoDeEnvios; } public AutoCorrecao getAutoCorrecao() { return autoCorrecao; } public void setAutoCorrecao(AutoCorrecao autoCorrecao) { this.autoCorrecao = autoCorrecao; } }