package fr.openwide.core.basicapp.core.business.user.model.embeddable;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Embeddable;
import javax.persistence.OrderColumn;
import org.bindgen.Bindable;
import org.hibernate.annotations.Type;
import com.google.common.collect.Lists;
import fr.openwide.core.basicapp.core.config.hibernate.TypeDefinitions;
import fr.openwide.core.commons.util.CloneUtils;
import fr.openwide.core.commons.util.collections.CollectionUtils;
@Embeddable
@Bindable
public class UserPasswordInformation implements Serializable {
private static final long serialVersionUID = -5388035775227696038L;
@Column
private Date lastUpdateDate;
@ElementCollection
@OrderColumn
@Type(type = TypeDefinitions.STRING_CLOB)
private List<String> history = Lists.newArrayList();
public Date getLastUpdateDate() {
return CloneUtils.clone(lastUpdateDate);
}
public void setLastUpdateDate(Date lastUpdateDate) {
this.lastUpdateDate = CloneUtils.clone(lastUpdateDate);
}
public List<String> getHistory() {
return history;
}
public void setHistory(List<String> history) {
CollectionUtils.replaceAll(this.history, history);
}
}