/** * Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.masterdb.security.hibernate; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; import org.apache.commons.lang.builder.ToStringStyle; /** * Hibernate bean for storing an enum with description. */ public class EnumWithDescriptionBean extends EnumBean { private String _description; public EnumWithDescriptionBean() { super(); } public EnumWithDescriptionBean(String name, String description) { super(name); _description = description; } public String getDescription() { return _description; } public void setDescription(String description) { _description = description; } public boolean equals(Object o) { if (!(o instanceof EnumWithDescriptionBean)) { return false; } EnumWithDescriptionBean ewd = (EnumWithDescriptionBean) o; if (getId() != -1 && ewd.getId() != -1) { return getId().longValue() == ewd.getId().longValue(); } return new EqualsBuilder().append(getName(), ewd.getName()).append(getDescription(), ewd.getDescription()).isEquals(); } public int hashCode() { return new HashCodeBuilder().append(getName()).append(getDescription()).toHashCode(); } @Override public String toString() { return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE); } }