001/*
002 * Copyright 2020 Global Biodiversity Information Facility (GBIF)
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.gbif.api.model.collections.suggestions;
017
018import org.gbif.api.model.collections.CollectionEntity;
019import org.gbif.api.vocabulary.Country;
020
021import java.io.Serializable;
022import java.util.Date;
023import java.util.List;
024import java.util.UUID;
025
026public interface ChangeSuggestion<T extends CollectionEntity> extends Serializable {
027
028  Integer getKey();
029
030  void setKey(Integer key);
031
032  Type getType();
033
034  void setType(Type type);
035
036  Status getStatus();
037
038  void setStatus(Status status);
039
040  UUID getEntityKey();
041
042  void setEntityKey(UUID entityKey);
043
044  Country getEntityCountry();
045
046  void setEntityCountry(Country entityCountry);
047
048  String getEntityName();
049
050  void setEntityName(String entityName);
051
052  T getSuggestedEntity();
053
054  void setSuggestedEntity(T suggestedEntity);
055
056  Date getProposed();
057
058  void setProposed(Date proposed);
059
060  String getProposedBy();
061
062  void setProposedBy(String proposedBy);
063
064  String getProposerEmail();
065
066  void setProposerEmail(String proposerEmail);
067
068  Date getApplied();
069
070  void setApplied(Date applied);
071
072  String getAppliedBy();
073
074  void setAppliedBy(String appliedBy);
075
076  Date getDiscarded();
077
078  void setDiscarded(Date discarded);
079
080  String getDiscardedBy();
081
082  void setDiscardedBy(String discardedBy);
083
084  List<String> getComments();
085
086  void setComments(List<String> comments);
087
088  UUID getMergeTargetKey();
089
090  void setMergeTargetKey(UUID mergeTargetKey);
091
092  List<Change> getChanges();
093
094  void setChanges(List<Change> changes);
095
096  String getModifiedBy();
097
098  void setModifiedBy(String modifiedBy);
099
100  Date getModified();
101
102  void setModified(Date modified);
103}