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 de.isas.mztab2.model.IndexedElement; 022import io.swagger.annotations.ApiModel; 023import io.swagger.annotations.ApiModelProperty; 024import com.fasterxml.jackson.dataformat.xml.annotation.*; 025import javax.xml.bind.annotation.*; 026import javax.validation.constraints.*; 027import javax.validation.Valid; 028import de.isas.lipidomics.mztab2.validation.constraints.*; 029/** 030 * 031 * Specification of controlled vocabularies. 032label: A string describing the labels of the controlled vocabularies/ontologies used in the mzTab file as a short-hand e.g. "MS" for PSI-MS. 033full_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file. 034version: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file. 035uri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file. 036 037 * 038 * 039 * <p>mzTab-M specification example(s):</p> 040 * <pre><code>MTD cv[1]-label MS 041MTD cv[1]-full_name PSI-MS controlled vocabulary 042MTD cv[1]-version 4.1.11 043MTD cv[1]-uri https://raw.githubusercontent.com/HUPO-PSI/psi-ms-CV/master/psi-ms.obo 044</code></pre> 045 * 046 * 047 */ 048@ApiModel(description = "Specification of controlled vocabularies. label: A string describing the labels of the controlled vocabularies/ontologies used in the mzTab file as a short-hand e.g. \"MS\" for PSI-MS. full_name: A string describing the full names of the controlled vocabularies/ontologies used in the mzTab file. version: A string describing the version of the controlled vocabularies/ontologies used in the mzTab file. uri: A string containing the URIs of the controlled vocabularies/ontologies used in the mzTab file. ") 049@javax.annotation.Generated(value = "io.swagger.codegen.languages.JavaClientCodegen", date = "2020-02-11T15:12:05.057+01:00") 050@XmlRootElement(name = "CV") 051@XmlAccessorType(XmlAccessType.FIELD) 052@JacksonXmlRootElement(localName = "CV") 053public class CV extends IndexedElement { 054 055 /** 056 * Property enumeration for CV. 057 */ 058 public static enum Properties { 059 label("label"), 060 fullName("full_name"), 061 version("version"), 062 uri("uri"); 063 064 private final String propertyName; 065 066 private Properties(String propertyName) { 067 this.propertyName = propertyName; 068 } 069 070 public String getPropertyName() { 071 return propertyName; 072 } 073 074 public String toString() { 075 return propertyName; 076 } 077 078 public String toUpper() { 079 return propertyName.toUpperCase(); 080 } 081 082 public static Properties of(String value) { 083 if(value==null) { 084 throw new NullPointerException("Argument value must not be null!"); 085 } 086 return Arrays.asList(Properties.values()).stream().filter(m -> m.propertyName.equals(value.toLowerCase())).findAny().orElseThrow(IllegalArgumentException::new); 087 } 088 }; 089 090 @JsonProperty("label") 091 @JacksonXmlProperty(localName = "label") 092 @XmlElement(name = "label") 093 private String label = null; 094 @JsonProperty("full_name") 095 @JacksonXmlProperty(localName = "full_name") 096 @XmlElement(name = "full_name") 097 private String fullName = null; 098 @JsonProperty("version") 099 @JacksonXmlProperty(localName = "version") 100 @XmlElement(name = "version") 101 private String version = null; 102 @JsonProperty("uri") 103 @JacksonXmlProperty(localName = "uri") 104 @XmlElement(name = "uri") 105 private String uri = null; 106 107 @Override 108 public CV id(Integer id) { 109 super.setId(id); 110 return this; 111 } 112 113 @Override 114 public CV elementType(String elementType) { 115 super.setElementType(elementType); 116 return this; 117 } 118 119 /** 120 * Builder method for label. 121 * 122 * @see CV#setLabel CV#setLabel for specification examples 123 * @see CV#getLabel CV#getLabel for validation constraints 124 * @param label a {@code String} parameter. 125 * @return CV 126 **/ 127 public CV label(String label) { 128 this.label = label; 129 return this; 130 } 131 132 /** 133 * The abbreviated CV label. 134 * 135 * @return label 136 **/ 137 @NotNull 138 @ApiModelProperty(required = true, value = "The abbreviated CV label.") 139 public String getLabel() { 140 return label; 141 } 142 143 /** 144 * Set label. 145 * 146 * 147 * 148 * @see #getLabel CV#getLabel for validation constraints 149 * @param label a {@code String} parameter. 150 **/ 151 public void setLabel(String label) { 152 this.label = label; 153 } 154 155 156 /** 157 * Builder method for fullName. 158 * 159 * @see CV#setFullName CV#setFullName for specification examples 160 * @see CV#getFullName CV#getFullName for validation constraints 161 * @param fullName a {@code String} parameter. 162 * @return CV 163 **/ 164 public CV fullName(String fullName) { 165 this.fullName = fullName; 166 return this; 167 } 168 169 /** 170 * The full name of this CV, for humans. 171 * 172 * @return fullName 173 **/ 174 @NotNull 175 @ApiModelProperty(required = true, value = "The full name of this CV, for humans.") 176 public String getFullName() { 177 return fullName; 178 } 179 180 /** 181 * Set fullName. 182 * 183 * 184 * 185 * @see #getFullName CV#getFullName for validation constraints 186 * @param fullName a {@code String} parameter. 187 **/ 188 public void setFullName(String fullName) { 189 this.fullName = fullName; 190 } 191 192 193 /** 194 * Builder method for version. 195 * 196 * @see CV#setVersion CV#setVersion for specification examples 197 * @see CV#getVersion CV#getVersion for validation constraints 198 * @param version a {@code String} parameter. 199 * @return CV 200 **/ 201 public CV version(String version) { 202 this.version = version; 203 return this; 204 } 205 206 /** 207 * The CV version used when the file was generated. 208 * 209 * @return version 210 **/ 211 @NotNull 212 @ApiModelProperty(required = true, value = "The CV version used when the file was generated.") 213 public String getVersion() { 214 return version; 215 } 216 217 /** 218 * Set version. 219 * 220 * 221 * 222 * @see #getVersion CV#getVersion for validation constraints 223 * @param version a {@code String} parameter. 224 **/ 225 public void setVersion(String version) { 226 this.version = version; 227 } 228 229 230 /** 231 * Builder method for uri. 232 * 233 * @see CV#setUri CV#setUri for specification examples 234 * @see CV#getUri CV#getUri for validation constraints 235 * @param uri a {@code String} parameter. 236 * @return CV 237 **/ 238 public CV uri(String uri) { 239 this.uri = uri; 240 return this; 241 } 242 243 /** 244 * A URI to the CV definition. 245 * 246 * @return uri 247 **/ 248 @NotNull 249 @ApiModelProperty(required = true, value = "A URI to the CV definition.") 250 public String getUri() { 251 return uri; 252 } 253 254 /** 255 * Set uri. 256 * 257 * 258 * 259 * @see #getUri CV#getUri for validation constraints 260 * @param uri a {@code String} parameter. 261 **/ 262 public void setUri(String uri) { 263 this.uri = uri; 264 } 265 266 267 @Override 268 public boolean equals(java.lang.Object o) { 269 if (this == o) { 270 return true; 271 } 272 if (o == null || getClass() != o.getClass()) { 273 return false; 274 } 275 CV CV = (CV) o; 276 return Objects.equals(this.label, CV.label) && 277 Objects.equals(this.fullName, CV.fullName) && 278 Objects.equals(this.version, CV.version) && 279 Objects.equals(this.uri, CV.uri) && 280 super.equals(o); 281 } 282 283 @Override 284 public int hashCode() { 285 return Objects.hash(label, fullName, version, uri, super.hashCode()); 286 } 287 288 289 @Override 290 public String toString() { 291 StringBuilder sb = new StringBuilder(); 292 sb.append("class CV {\n"); 293 sb.append(" ").append(toIndentedString(super.toString())).append("\n"); 294 sb.append(" label: ").append(toIndentedString(label)).append("\n"); 295 sb.append(" fullName: ").append(toIndentedString(fullName)).append("\n"); 296 sb.append(" version: ").append(toIndentedString(version)).append("\n"); 297 sb.append(" uri: ").append(toIndentedString(uri)).append("\n"); 298 sb.append("}"); 299 return sb.toString(); 300 } 301 302 /** 303 * Convert the given object to string with each line indented by 4 spaces 304 * (except the first line). 305 */ 306 private String toIndentedString(java.lang.Object o) { 307 if (o == null) { 308 return "null"; 309 } 310 return o.toString().replace("\n", "\n "); 311 } 312 313} 314