All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.evolver.basics.spring.job.entity.TaskStatusMetadata Maven / Gradle / Ivy

package fi.evolver.basics.spring.job.entity;

import java.util.Objects;

import com.fasterxml.jackson.annotation.JsonIgnore;

import fi.evolver.utils.format.FormatUtils;
import jakarta.persistence.*;


@Entity
@Table(name="task_status_metadata")
public class TaskStatusMetadata {

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private long id;

	@Column(name = "key", nullable = false)
	private String key;

	@Column(name = "value", nullable = false)
	private String value;

	@ManyToOne
	@JoinColumn(name="task_status_id")
	private TaskStatus taskStatus;


	public TaskStatusMetadata() { }

	public TaskStatusMetadata(String key, String value) {
		Objects.requireNonNull(key);
		Objects.requireNonNull(value);
		this.key = key;
		this.value = FormatUtils.truncatePretty(value, 1024);
	}


	void setTaskStatus(TaskStatus status) {
		this.taskStatus = status;
	}


	@JsonIgnore
	public long getId() {
		return id;
	}

	public String getKey() {
		return key;
	}

	public String getValue() {
		return value;
	}


	@Override
	public String toString() {
		return String.format("%s: %s = %s", id, key, value);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy