org.bonitasoft.engine.identity.model.SGroup Maven / Gradle / Ivy
The newest version!
/**
* Copyright (C) 2019 Bonitasoft S.A.
* Bonitasoft, 32 rue Gustave Eiffel - 38000 Grenoble
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.bonitasoft.engine.identity.model;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.IdClass;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.bonitasoft.engine.persistence.PersistentObject;
import org.bonitasoft.engine.persistence.PersistentObjectId;
/**
* @author Anthony Birembaut
* @author Baptiste Mesta
* @author Matthieu Chaffotte
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Entity
@Table(name = "group_")
@IdClass(PersistentObjectId.class)
public class SGroup implements PersistentObject, SHavingIcon {
public static final String PARENT_PATH = "parentPath";
public static final String ID = "id";
public static final String NAME = "name";
public static final String DESCRIPTION = "description";
public static final String DISPLAY_NAME = "displayName";
public static final String CREATED_BY = "createdBy";
public static final String CREATION_DATE = "creationDate";
public static final String LAST_UPDATE = "lastUpdate";
@Id
private long id;
@Id
private long tenantId;
@Column
private String name;
@Column
private String description;
@Column
private String displayName;
@Column
private String parentPath;
@Column
private long createdBy;
@Column
private long creationDate;
@Column
private long lastUpdate;
@Column(name = "iconid")
private Long iconId;
public String getPath() {
if (parentPath == null) {
return "/" + getName();
}
return parentPath + "/" + getName();
}
}