package com.aperture_software.glados_wiki.entities; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.mongodb.morphia.annotations.Entity; import org.mongodb.morphia.annotations.Id; import java.io.Serializable; import java.util.Date; /** * User: jhyun * Date: 13. 11. 26 * Time: 오후 3:52 */ @Entity public class Group implements Serializable, Cloneable, UserAuthentication { private static final long serialVersionUID = 4451662352769071814L; @Id private String name; private String description; private boolean enabled; private Date ctime = new Date(); public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public boolean isEnabled() { return enabled; } public void setEnabled(boolean enabled) { this.enabled = enabled; } public Date getCtime() { return ctime; } public void setCtime(Date ctime) { this.ctime = ctime; } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } @Override public Object clone() throws CloneNotSupportedException { return super.clone(); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } @Override public String getAuthenticationName() { return this.getName(); } @Override public String getAuthenticationType() { return "group"; } }