001/* 002 * Licensed under the Apache License, Version 2.0 (the "License"); 003 * you may not use this file except in compliance with the License. 004 * You may obtain a copy of the License at 005 * 006 * http://www.apache.org/licenses/LICENSE-2.0 007 * 008 * Unless required by applicable law or agreed to in writing, software 009 * distributed under the License is distributed on an "AS IS" BASIS, 010 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 011 * See the License for the specific language governing permissions and 012 * limitations under the License. 013 */ 014package org.gbif.api.model.literature.search; 015 016import org.gbif.api.model.literature.LiteratureRelevance; 017import org.gbif.api.model.literature.LiteratureTopic; 018import org.gbif.api.model.literature.LiteratureType; 019import org.gbif.api.vocabulary.Country; 020import org.gbif.api.vocabulary.GbifRegion; 021import org.gbif.api.vocabulary.Language; 022 023import java.util.ArrayList; 024import java.util.Date; 025import java.util.HashMap; 026import java.util.HashSet; 027import java.util.List; 028import java.util.Map; 029import java.util.Set; 030import java.util.UUID; 031 032import com.fasterxml.jackson.annotation.JsonProperty; 033 034import io.swagger.v3.oas.annotations.media.Schema; 035 036@SuppressWarnings("unused") 037public class LiteratureSearchResult { 038 039 private String abstract_; 040 041 @Schema(description = "The date the literature item was found by GBIF's staff or automated processes.") 042 private String discovered; 043 044 @Schema(description = "The authors of the publication.") 045 private List<Map<String, Object>> authors = new ArrayList<>(); 046 047 @Schema(description = "Countries or areas of focus of the study.") 048 private Set<Country> countriesOfCoverage = new HashSet<>(); 049 050 @Schema(description = "Countries or areas of institution with which authors are affiliated.") 051 private Set<Country> countriesOfResearcher = new HashSet<>(); 052 053 @Schema(description = "The date the publication was added to the GBIF literature database.") 054 private Date added; 055 056 @Schema(description = "The publication date of the publication. See also `year`, `month` and `day`.") 057 private Date published; 058 059 @Schema(description = "The day of publication. See also `published`.", minimum = "1", maximum = "31") 060 private Integer day; 061 062 @Schema(description = "Keys of GBIF downloads referenced by the publication.") 063 private List<String> gbifDownloadKey = new ArrayList<>(); 064 065 @Schema(description = "Keys of GBIF occurrences directly mentioned by the paper.") 066 private List<Long> gbifOccurrenceKey = new ArrayList<>(); 067 068 @Schema(description = "Keys of taxa from the GBIF Backbone Taxonomy that are the focus of the paper.") 069 private List<Integer> gbifTaxonKey = new ArrayList<>(); 070 071 @Schema(description = "Keys of higher taxa from the GBIF Backbone Taxonomy that are the focus of the paper.") 072 private List<Integer> gbifHigherTaxonKey = new ArrayList<>(); 073 074 @Schema(description = "A list of GBIF network keys relevant to the publication.") 075 private List<UUID> gbifNetworkKey = new ArrayList<>(); 076 077 @Schema(description = "A list of GBIF project identifiers relevant to the publication.") 078 private List<String> gbifProjectIdentifier = new ArrayList<>(); 079 080 @Schema(description = "A list of GBIF programmes relevant to the publication.") 081 private List<String> gbifProgramme = new ArrayList<>(); 082 083 @Schema(description = "The manner in which GBIF is cited in a paper.") 084 private String citationType; 085 086 @Schema(description = "GBIF regions (political divisions) related to the publication.") 087 private Set<GbifRegion> gbifRegion = new HashSet<>(); 088 089 @Schema(description = "GBIF identifier for this literature item.") 090 private UUID id; 091 092 @Schema(description = "Identifiers (such as DOIs) for the literature item.") 093 private Map<String, Object> identifiers = new HashMap<>(); 094 095 @Schema(description = "Keywords assigned to the literature item.") 096 private List<String> keywords = new ArrayList<>(); 097 098 @Schema(description = "The language of the publication.") 099 private Language language; 100 101 @Schema(description = "Type of literature, e.g. journal article.") 102 private LiteratureType literatureType; 103 104 @Schema(description = "The month of publication. See also `published`.", minimum = "1", maximum = "12") 105 private Integer month; 106 107 @Schema(description = "Unstructured notes.") 108 private String notes; 109 110 @Schema(description = "Whether the publication is open access.") 111 private boolean openAccess; 112 113 @Schema(description = "Whether the publication has been peer reviewed.") 114 private boolean peerReview; 115 116 @Schema(description = "The publisher of the paper.") 117 private String publisher; 118 119 @Schema(description = "Relevance to GBIF community, see [literature relevance](https://www.gbif.org/faq?question=literature-relevance).") 120 private Set<LiteratureRelevance> relevance = new HashSet<>(); 121 122 @Schema(description = "Journal of publication.") 123 private String source; 124 125 @Schema(description = "Various tags applied to the literature.") 126 private List<String> tags = new ArrayList<>(); 127 128 @Schema(description = "The title of the publication.") 129 private String title; 130 131 @Schema(description = "Topics of the publication.") 132 private Set<LiteratureTopic> topics = new HashSet<>(); 133 134 @Schema(description = "The date this literature entry was last modified.") 135 private Date modified; 136 137 @Schema(description = "Websites associated with the publication.") 138 private List<String> websites = new ArrayList<>(); 139 140 @Schema(description = "The year of publication. See also `published`.") 141 private Integer year; 142 143 @Schema(name = "abstract", description = "The abstract from the publication.") 144 @JsonProperty("abstract") 145 public String getAbstract() { 146 return abstract_; 147 } 148 149 public void setAbstract(String abstract_) { 150 this.abstract_ = abstract_; 151 } 152 153 public String getDiscovered() { 154 return discovered; 155 } 156 157 public void setDiscovered(String discovered) { 158 this.discovered = discovered; 159 } 160 161 public List<Map<String, Object>> getAuthors() { 162 return authors; 163 } 164 165 public void setAuthors(List<Map<String, Object>> authors) { 166 this.authors = authors; 167 } 168 169 public Set<Country> getCountriesOfCoverage() { 170 return countriesOfCoverage; 171 } 172 173 public void setCountriesOfCoverage(Set<Country> countriesOfCoverage) { 174 this.countriesOfCoverage = countriesOfCoverage; 175 } 176 177 public Set<Country> getCountriesOfResearcher() { 178 return countriesOfResearcher; 179 } 180 181 public void setCountriesOfResearcher(Set<Country> countriesOfResearcher) { 182 this.countriesOfResearcher = countriesOfResearcher; 183 } 184 185 public Date getAdded() { 186 return added; 187 } 188 189 public void setAdded(Date added) { 190 this.added = added; 191 } 192 193 public Date getPublished() { 194 return published; 195 } 196 197 public void setPublished(Date published) { 198 this.published = published; 199 } 200 201 public Integer getDay() { 202 return day; 203 } 204 205 public void setDay(Integer day) { 206 this.day = day; 207 } 208 209 public List<String> getGbifDownloadKey() { 210 return gbifDownloadKey; 211 } 212 213 public void setGbifDownloadKey(List<String> gbifDownloadKey) { 214 this.gbifDownloadKey = gbifDownloadKey; 215 } 216 217 public List<Long> getGbifOccurrenceKey() { 218 return gbifOccurrenceKey; 219 } 220 221 public void setGbifOccurrenceKey(List<Long> gbifOccurrenceKey) { 222 this.gbifOccurrenceKey = gbifOccurrenceKey; 223 } 224 225 public List<Integer> getGbifTaxonKey() { 226 return gbifTaxonKey; 227 } 228 229 public void setGbifTaxonKey(List<Integer> gbifTaxonKey) { 230 this.gbifTaxonKey = gbifTaxonKey; 231 } 232 233 public List<Integer> getGbifHigherTaxonKey() { 234 return gbifHigherTaxonKey; 235 } 236 237 public void setGbifHigherTaxonKey(List<Integer> gbifHigherTaxonKey) { 238 this.gbifHigherTaxonKey = gbifHigherTaxonKey; 239 } 240 241 public String getCitationType() { 242 return citationType; 243 } 244 245 public void setCitationType(String citationType) { 246 this.citationType = citationType; 247 } 248 249 public Set<GbifRegion> getGbifRegion() { 250 return gbifRegion; 251 } 252 253 public void setGbifRegion(Set<GbifRegion> gbifRegion) { 254 this.gbifRegion = gbifRegion; 255 } 256 257 public UUID getId() { 258 return id; 259 } 260 261 public void setId(UUID id) { 262 this.id = id; 263 } 264 265 public Map<String, Object> getIdentifiers() { 266 return identifiers; 267 } 268 269 public void setIdentifiers(Map<String, Object> identifiers) { 270 this.identifiers = identifiers; 271 } 272 273 public List<String> getKeywords() { 274 return keywords; 275 } 276 277 public void setKeywords(List<String> keywords) { 278 this.keywords = keywords; 279 } 280 281 public Language getLanguage() { 282 return language; 283 } 284 285 public void setLanguage(Language language) { 286 this.language = language; 287 } 288 289 public LiteratureType getLiteratureType() { 290 return literatureType; 291 } 292 293 public void setLiteratureType(LiteratureType literatureType) { 294 this.literatureType = literatureType; 295 } 296 297 public Integer getMonth() { 298 return month; 299 } 300 301 public void setMonth(Integer month) { 302 this.month = month; 303 } 304 305 public String getNotes() { 306 return notes; 307 } 308 309 public void setNotes(String notes) { 310 this.notes = notes; 311 } 312 313 public boolean isOpenAccess() { 314 return openAccess; 315 } 316 317 public void setOpenAccess(boolean openAccess) { 318 this.openAccess = openAccess; 319 } 320 321 public boolean isPeerReview() { 322 return peerReview; 323 } 324 325 public void setPeerReview(boolean peerReview) { 326 this.peerReview = peerReview; 327 } 328 329 public String getPublisher() { 330 return publisher; 331 } 332 333 public void setPublisher(String publisher) { 334 this.publisher = publisher; 335 } 336 337 public Set<LiteratureRelevance> getRelevance() { 338 return relevance; 339 } 340 341 public void setRelevance(Set<LiteratureRelevance> relevance) { 342 this.relevance = relevance; 343 } 344 345 public String getSource() { 346 return source; 347 } 348 349 public void setSource(String source) { 350 this.source = source; 351 } 352 353 public List<String> getTags() { 354 return tags; 355 } 356 357 public void setTags(List<String> tags) { 358 this.tags = tags; 359 } 360 361 public String getTitle() { 362 return title; 363 } 364 365 public void setTitle(String title) { 366 this.title = title; 367 } 368 369 public Set<LiteratureTopic> getTopics() { 370 return topics; 371 } 372 373 public void setTopics(Set<LiteratureTopic> topics) { 374 this.topics = topics; 375 } 376 377 public Date getModified() { 378 return modified; 379 } 380 381 public void setModified(Date modified) { 382 this.modified = modified; 383 } 384 385 public List<String> getWebsites() { 386 return websites; 387 } 388 389 public void setWebsites(List<String> websites) { 390 this.websites = websites; 391 } 392 393 public Integer getYear() { 394 return year; 395 } 396 397 public void setYear(Integer year) { 398 this.year = year; 399 } 400 401 public List<UUID> getGbifNetworkKey() { 402 return gbifNetworkKey; 403 } 404 405 public void setGbifNetworkKey(List<UUID> gbifNetworkKey) { 406 this.gbifNetworkKey = gbifNetworkKey; 407 } 408 409 public List<String> getGbifProjectIdentifier() { 410 return gbifProjectIdentifier; 411 } 412 413 public void setGbifProjectIdentifier(List<String> gbifProjectIdentifier) { 414 this.gbifProjectIdentifier = gbifProjectIdentifier; 415 } 416 417 public List<String> getGbifProgramme() { 418 return gbifProgramme; 419 } 420 421 public void setGbifProgramme(List<String> gbifProgramme) { 422 this.gbifProgramme = gbifProgramme; 423 } 424}