Problem.java
/*
* GovWay - A customizable API Gateway
* https://govway.org
*
* Copyright (c) 2005-2024 Link.it srl (https://link.it).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 3, as published by
* the Free Software Foundation.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
package org.openspcoop2.utils.service.beans;
import javax.validation.constraints.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@JsonIgnoreProperties(ignoreUnknown = true)
public class Problem {
@Schema(example = "https://tools.ietf.org/html/rfc7231#section-6.6.4", description = "An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML). ")
/**
* An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).
**/
private String type = "about:blank";
@Schema(description = "A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable ")
/**
* A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable
**/
private String title = null;
@Schema(example = "503", description = "The HTTP status code generated by the origin server for this occurrence of the problem. ")
/**
* The HTTP status code generated by the origin server for this occurrence of the problem.
**/
private Integer status = null;
@Schema(example = "Request took too long to complete.", description = "A human readable explanation specific to this occurrence of the problem. You MUST NOT expose internal informations, personal data or implementation details through this field. ")
/**
* A human readable explanation specific to this occurrence of the problem. You MUST NOT expose internal informations, personal data or implementation details through this field.
**/
private String detail = null;
@Schema(description = "An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced. ")
/**
* An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
**/
private String instance = null;
/**
* An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable documentation for the problem type (e.g., using HTML).
* @return type
**/
@JsonProperty("type")
public String getType() {
return this.type;
}
public void setType(String type) {
this.type = type;
}
public Problem type(String type) {
this.type = type;
return this;
}
/**
* A short, summary of the problem type. Written in english and readable for engineers (usually not suited for non technical stakeholders and not localized); example: Service Unavailable
* @return title
**/
@JsonProperty("title")
public String getTitle() {
return this.title;
}
public void setTitle(String title) {
this.title = title;
}
public Problem title(String title) {
this.title = title;
return this;
}
/**
* The HTTP status code generated by the origin server for this occurrence of the problem.
* minimum: 100
* maximum: 600
* @return status
**/
@JsonProperty("status")
@Min(100) @Max(600) public Integer getStatus() {
return this.status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Problem status(Integer status) {
this.status = status;
return this;
}
/**
* A human readable explanation specific to this occurrence of the problem. You MUST NOT expose internal informations, personal data or implementation details through this field.
* @return detail
**/
@JsonProperty("detail")
public String getDetail() {
return this.detail;
}
public void setDetail(String detail) {
this.detail = detail;
}
public Problem detail(String detail) {
this.detail = detail;
return this;
}
/**
* An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
* @return instance
**/
@JsonProperty("instance")
public String getInstance() {
return this.instance;
}
public void setInstance(String instance) {
this.instance = instance;
}
public Problem instance(String instance) {
this.instance = instance;
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Problem {\n");
sb.append(" type: ").append(Problem.toIndentedString(this.type)).append("\n");
sb.append(" title: ").append(Problem.toIndentedString(this.title)).append("\n");
sb.append(" status: ").append(Problem.toIndentedString(this.status)).append("\n");
sb.append(" detail: ").append(Problem.toIndentedString(this.detail)).append("\n");
sb.append(" instance: ").append(Problem.toIndentedString(this.instance)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private static String toIndentedString(java.lang.Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
}