001/* 002 * mzTab-M reference implementation and validation API. 003 * This is the mzTab-M reference implementation and validation API service. 004 * 005 * OpenAPI spec version: 2.0.0 006 * Contact: nils.hoffmann@isas.de 007 * 008 * NOTE: This class is auto generated by the swagger code generator program. 009 * https://github.com/swagger-api/swagger-codegen.git 010 * Do not edit the class manually. 011 */ 012 013 014package de.isas.mztab2.model; 015 016import java.util.Objects; 017import java.util.Arrays; 018import com.fasterxml.jackson.annotation.JsonProperty; 019import com.fasterxml.jackson.annotation.JsonCreator; 020import com.fasterxml.jackson.annotation.JsonValue; 021import io.swagger.annotations.ApiModel; 022import io.swagger.annotations.ApiModelProperty; 023import com.fasterxml.jackson.dataformat.xml.annotation.*; 024import javax.xml.bind.annotation.*; 025import javax.validation.constraints.*; 026import javax.validation.Valid; 027import de.isas.lipidomics.mztab2.validation.constraints.*; 028/** 029 * 030 * A URI pointing to the file’s source data (e.g., a MetaboLights records) or an external file with more details about the study design. 031 * 032 * 033 * <p>mzTab-M specification example(s):</p> 034 * <pre><code>MTD uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517 035… 036MTD external_study_uri[1] https://www.ebi.ac.uk/metabolights/MTBLS517/files/i_Investigation.txt 037</code></pre> 038 * 039 * 040 */ 041@com.fasterxml.jackson.annotation.JsonIdentityInfo(generator = com.fasterxml.jackson.annotation.ObjectIdGenerators.PropertyGenerator.class, property = "id", scope = Uri.class) 042@ApiModel(description = "A URI pointing to the file’s source data (e.g., a MetaboLights records) or an external file with more details about the study design.") 043@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2021-01-02T19:26:21.550+01:00") 044@XmlRootElement(name = "Uri") 045@XmlAccessorType(XmlAccessType.FIELD) 046@JacksonXmlRootElement(localName = "Uri") 047public class Uri { 048 049 /** 050 * Property enumeration for Uri. 051 */ 052 public static enum Properties { 053 id("id"), 054 value("value"); 055 056 private final String propertyName; 057 058 private Properties(String propertyName) { 059 this.propertyName = propertyName; 060 } 061 062 public String getPropertyName() { 063 return propertyName; 064 } 065 066 public String toString() { 067 return propertyName; 068 } 069 070 public String toUpper() { 071 return propertyName.toUpperCase(); 072 } 073 074 public static Properties of(String value) { 075 if(value==null) { 076 throw new NullPointerException("Argument value must not be null!"); 077 } 078 return Arrays.asList(Properties.values()).stream().filter(m -> m.propertyName.equals(value.toLowerCase())).findAny().orElseThrow(IllegalArgumentException::new); 079 } 080 }; 081 082 @JsonProperty("id") 083 @JacksonXmlProperty(localName = "id") 084 @XmlElement(name = "id") 085 private Integer id = null; 086 @JsonProperty("value") 087 @JacksonXmlProperty(localName = "value") 088 @XmlElement(name = "value") 089 private String value = null; 090 091 /** 092 * Builder method for id. 093 * 094 * @see Uri#setId Uri#setId for specification examples 095 * @see Uri#getId Uri#getId for validation constraints 096 * @param id a {@code Integer} parameter. 097 * @return Uri 098 **/ 099 public Uri id(Integer id) { 100 this.id = id; 101 return this; 102 } 103 104 /** 105 * <p>Get id.</p> 106 * 107 * <p>Minimum: 1</p> 108 * @return id 109 **/ 110 @Min(1) @ApiModelProperty(value = "") 111 public Integer getId() { 112 return id; 113 } 114 115 /** 116 * Set id. 117 * 118 * 119 * 120 * @see #getId Uri#getId for validation constraints 121 * @param id a {@code Integer} parameter. 122 **/ 123 public void setId(Integer id) { 124 this.id = id; 125 } 126 127 128 /** 129 * Builder method for value. 130 * 131 * @see Uri#setValue Uri#setValue for specification examples 132 * @see Uri#getValue Uri#getValue for validation constraints 133 * @param value a {@code String} parameter. 134 * @return Uri 135 **/ 136 public Uri value(String value) { 137 this.value = value; 138 return this; 139 } 140 141 /** 142 * The URI pointing to the external resource. 143 * 144 * @return value 145 **/ 146 @ApiModelProperty(value = "The URI pointing to the external resource.") 147 public String getValue() { 148 return value; 149 } 150 151 /** 152 * Set value. 153 * 154 * 155 * 156 * @see #getValue Uri#getValue for validation constraints 157 * @param value a {@code String} parameter. 158 **/ 159 public void setValue(String value) { 160 this.value = value; 161 } 162 163 164 @Override 165 public boolean equals(java.lang.Object o) { 166 if (this == o) { 167 return true; 168 } 169 if (o == null || getClass() != o.getClass()) { 170 return false; 171 } 172 Uri uri = (Uri) o; 173 return Objects.equals(this.id, uri.id) && 174 Objects.equals(this.value, uri.value); 175 } 176 177 @Override 178 public int hashCode() { 179 return Objects.hash(id, value); 180 } 181 182 183 @Override 184 public String toString() { 185 StringBuilder sb = new StringBuilder(); 186 sb.append("class Uri {\n"); 187 188 sb.append(" id: ").append(toIndentedString(id)).append("\n"); 189 sb.append(" value: ").append(toIndentedString(value)).append("\n"); 190 sb.append("}"); 191 return sb.toString(); 192 } 193 194 /** 195 * Convert the given object to string with each line indented by 4 spaces 196 * (except the first line). 197 */ 198 private String toIndentedString(java.lang.Object o) { 199 if (o == null) { 200 return "null"; 201 } 202 return o.toString().replace("\n", "\n "); 203 } 204 205} 206