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

io.imunity.furms.ui.views.site.connection.PendingMessageGridModel Maven / Gradle / Ivy

There is a newer version: 4.3.1
Show newest version
/*
 * Copyright (c) 2020 Bixbit s.c. All rights reserved.
 * See LICENSE file for licensing information.
 */

package io.imunity.furms.ui.views.site.connection;

import io.imunity.furms.domain.site_agent.CorrelationId;

import java.time.LocalDateTime;
import java.util.Objects;

class PendingMessageGridModel {
	public final CorrelationId id;
	public final String operationType;
	public final String status;
	public final String json;
	public final LocalDateTime sentAt;
	public final LocalDateTime ackAt;
	public final int retryAmount;

	PendingMessageGridModel(CorrelationId id, String operationType, String status, String json, LocalDateTime sentAt, LocalDateTime ackAt, int retryAmount) {
		this.id = id;
		this.operationType = operationType;
		this.status = status;
		this.sentAt = sentAt;
		this.json = json;
		this.ackAt = ackAt;
		this.retryAmount = retryAmount;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (o == null || getClass() != o.getClass()) return false;
		PendingMessageGridModel that = (PendingMessageGridModel) o;
		return Objects.equals(id, that.id);
	}

	@Override
	public int hashCode() {
		return Objects.hash(id);
	}

	@Override
	public String toString() {
		return "PendingMessageGridModel{" +
			"id=" + id +
			", operationType='" + operationType + '\'' +
			", status='" + status + '\'' +
			", sentAt=" + sentAt +
			", ackAt=" + ackAt +
			", json=" + json +
			", retryAmount=" + retryAmount +
			'}';
	}

	public static PendingMessageGridModelBuilder builder() {
		return new PendingMessageGridModelBuilder();
	}

	public static final class PendingMessageGridModelBuilder {
		public CorrelationId id;
		public String operationType;
		public String status;
		public String json;
		public LocalDateTime sentAt;
		public LocalDateTime ackAt;
		public int retryAmount;

		private PendingMessageGridModelBuilder() {
		}

		public PendingMessageGridModelBuilder id(CorrelationId id) {
			this.id = id;
			return this;
		}

		public PendingMessageGridModelBuilder json(String json) {
			this.json = json;
			return this;
		}

		public PendingMessageGridModelBuilder operationType(String operationType) {
			this.operationType = operationType;
			return this;
		}

		public PendingMessageGridModelBuilder status(String status) {
			this.status = status;
			return this;
		}

		public PendingMessageGridModelBuilder sentAt(LocalDateTime sentAt) {
			this.sentAt = sentAt;
			return this;
		}

		public PendingMessageGridModelBuilder ackAt(LocalDateTime ackAt) {
			this.ackAt = ackAt;
			return this;
		}

		public PendingMessageGridModelBuilder retryAmount(int retryAmount) {
			this.retryAmount = retryAmount;
			return this;
		}

		public PendingMessageGridModel build() {
			return new PendingMessageGridModel(id, operationType, status, json, sentAt, ackAt, retryAmount);
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy