package com.intuit.tank.project; /* * #%L * Intuit Tank data model * %% * Copyright (C) 2011 - 2015 Intuit Inc. * %% * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * #L% */ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.hibernate.annotations.Index; import org.hibernate.envers.Audited; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotEmpty; /** * * Project top level Object in data model. All objects are eventually traversable from their project. * * @author dangleton * */ @Entity @Table(name = "user_group") @Audited public class Group extends BaseEntity { private static final long serialVersionUID = 1L; public static final String PROPERTY_NAME = "name"; @Column(name = "name", nullable = false) @NotEmpty @Length(max = 255) @Index(name = "IDX_GROUP_NAME") private String name; public Group() { } /** * @param name */ public Group(String name) { this.name = name; } /** * @return the name */ public String getName() { return name; } /** * @param name * the name to set */ public void setName(String name) { this.name = name; } /** * @{inheritDoc */ @Override public String toString() { return name; } /** * @{inheritDoc */ @Override public boolean equals(Object obj) { if (!(obj instanceof Group)) { return false; } Group o = (Group) obj; return new EqualsBuilder().append(o.getName(), getName()).isEquals(); } /** * @{inheritDoc */ @Override public int hashCode() { return new HashCodeBuilder(29, 45).append(getName()).toHashCode(); } }