package eu.eudat.data; import eu.eudat.commons.enums.DescriptionTemplateStatus; import eu.eudat.commons.enums.DescriptionTemplateVersionStatus; import eu.eudat.commons.enums.IsActive; import eu.eudat.data.converters.enums.DescriptionTemplateStatusConverter; import eu.eudat.data.converters.enums.DescriptionTemplateVersionStatusConverter; import eu.eudat.data.converters.enums.IsActiveConverter; import eu.eudat.data.old.queryableentity.DataEntity; import jakarta.persistence.*; import java.time.Instant; import java.util.List; import java.util.UUID; @Entity @Table(name = "\"DescriptionTemplate\"") public class DescriptionTemplateEntity implements DataEntity{ @Id @Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false) private UUID id; public static final String _id = "id"; @Column(name = "label", length = DescriptionTemplateEntity._labelLength, nullable = false) private String label; public static final String _label = "label"; public static final int _labelLength = 250; @Column(name = "definition", nullable = false) private String definition; public static final String _definition = "definition"; @Column(name = "status", nullable = false) @Convert(converter = DescriptionTemplateStatusConverter.class) private DescriptionTemplateStatus status; public static final String _status = "status"; @Column(name = "is_active", nullable = false) @Convert(converter = IsActiveConverter.class) private IsActive isActive; public static final String _isActive = "isActive"; @Column(name = "created_at", nullable = false) private Instant createdAt = null; public static final String _createdAt = "createdAt"; @Column(name = "updated_at", nullable = false) private Instant updatedAt; public static final String _updatedAt = "updatedAt"; @Column(name = "description", nullable = false) private String description; public static final String _description = "description"; @Column(name = "group_id", updatable = false, nullable = false, columnDefinition = "BINARY(16)") private UUID groupId; public static final String _groupId = "groupId"; @Column(name = "version", nullable = false) private Short version; public static final String _version = "version"; @Column(name = "version_status", nullable = false) @Convert(converter = DescriptionTemplateVersionStatusConverter.class) private DescriptionTemplateVersionStatus versionStatus; public static final String _versionStatus = "versionStatus"; @Column(name = "language", nullable = false) private String language; public static final String _language = "language"; @Column(name = "type", nullable = false) private UUID typeId; public static final String _typeId = "typeId"; public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public UUID getId() { return id; } public void setId(UUID id) { this.id = id;} public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public String getDefinition() { return definition; } public void setDefinition(String definition) { this.definition = definition; } public UUID getGroupId() { return groupId; } public void setGroupId(UUID groupId) { this.groupId = groupId;} public Short getVersion() { return version; } public void setVersion(Short version) { this.version = version; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } public DescriptionTemplateStatus getStatus() { return status; } public void setStatus(DescriptionTemplateStatus status) { this.status = status; } public IsActive getIsActive() { return isActive; } public void setIsActive(IsActive isActive) { this.isActive = isActive; } public Instant getCreatedAt() { return createdAt; } public void setCreatedAt(Instant createdAt) { this.createdAt = createdAt; } public Instant getUpdatedAt() { return updatedAt; } public void setUpdatedAt(Instant updatedAt) { this.updatedAt = updatedAt; } public UUID getTypeId() { return typeId; } public void setTypeId(UUID typeId) { this.typeId = typeId; } public DescriptionTemplateVersionStatus getVersionStatus() { return versionStatus; } public void setVersionStatus(DescriptionTemplateVersionStatus versionStatus) { this.versionStatus = versionStatus; } @Override public void update(DescriptionTemplateEntity entity) { } @Override public UUID getKeys() { return this.id; } @Override public DescriptionTemplateEntity buildFromTuple(List tuple, List fields, String base) { this.id = UUID.fromString((String) tuple.get(0).get(base.isEmpty() ? base + "." + "id" : "id")); return this; } }