JAL-3438 spotless for 2.11.2.0
[jalview.git] / src / jalview / fts / core / FTSRestRequest.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21
22 package jalview.fts.core;
23
24 import jalview.bin.Cache;
25 import jalview.datamodel.SequenceI;
26 import jalview.fts.api.FTSDataColumnI;
27
28 import java.util.Collection;
29
30 /**
31  * Represents the FTS request to be consumed by the FTSRestClient
32  * 
33  * @author tcnofoegbu
34  *
35  */
36 public class FTSRestRequest
37 {
38   private String fieldToSearchBy;
39
40   private String searchTerm;
41
42   private String fieldToSortBy;
43
44   private SequenceI associatedSequence;
45
46   private boolean allowEmptySequence;
47
48   private boolean allowUnpublishedEntries = Cache
49           .getDefault("ALLOW_UNPUBLISHED_PDB_QUERYING", false);
50
51   private boolean facet;
52
53   private String facetPivot;
54
55   private int facetPivotMinCount;
56
57   private int responseSize;
58
59   private int offSet;
60
61   private boolean isSortAscending;
62
63   private Collection<FTSDataColumnI> wantedFields;
64
65   public String getFieldToSearchBy()
66   {
67     return fieldToSearchBy;
68   }
69
70   public void setFieldToSearchBy(String fieldToSearchBy)
71   {
72     this.fieldToSearchBy = fieldToSearchBy;
73   }
74
75   public String getSearchTerm()
76   {
77     return searchTerm;
78   }
79
80   public void setSearchTerm(String searchTerm)
81   {
82     this.searchTerm = searchTerm;
83   }
84
85   public boolean isAllowEmptySeq()
86   {
87     return allowEmptySequence;
88   }
89
90   public void setAllowEmptySeq(boolean allowEmptySeq)
91   {
92     this.allowEmptySequence = allowEmptySeq;
93   }
94
95   public int getResponseSize()
96   {
97     return responseSize;
98   }
99
100   public void setResponseSize(int responseSize)
101   {
102     this.responseSize = responseSize;
103   }
104
105   public Collection<FTSDataColumnI> getWantedFields()
106   {
107     return wantedFields;
108   }
109
110   public void setWantedFields(Collection<FTSDataColumnI> wantedFields)
111   {
112     this.wantedFields = wantedFields;
113   }
114
115   public String getFieldToSortBy()
116   {
117     return fieldToSortBy;
118   }
119
120   public void setFieldToSortBy(String fieldToSortBy,
121           boolean isSortAscending)
122   {
123     this.fieldToSortBy = fieldToSortBy;
124     this.isSortAscending = isSortAscending;
125   }
126
127   public boolean isAscending()
128   {
129     return isSortAscending;
130   }
131
132   public SequenceI getAssociatedSequence()
133   {
134     return associatedSequence;
135   }
136
137   public void setAssociatedSequence(SequenceI associatedSequence)
138   {
139     this.associatedSequence = associatedSequence;
140   }
141
142   public boolean isAllowUnpublishedEntries()
143   {
144     return allowUnpublishedEntries;
145   }
146
147   public void setAllowUnpublishedEntries(boolean allowUnpublishedEntries)
148   {
149     this.allowUnpublishedEntries = allowUnpublishedEntries;
150   }
151
152   public boolean isFacet()
153   {
154     return facet;
155   }
156
157   public void setFacet(boolean facet)
158   {
159     this.facet = facet;
160   }
161
162   public String getFacetPivot()
163   {
164     return facetPivot;
165   }
166
167   public void setFacetPivot(String facetPivot)
168   {
169     this.facetPivot = facetPivot;
170   }
171
172   public int getFacetPivotMinCount()
173   {
174     return facetPivotMinCount;
175   }
176
177   public void setFacetPivotMinCount(int facetPivotMinCount)
178   {
179     this.facetPivotMinCount = facetPivotMinCount;
180   }
181
182   public int getOffSet()
183   {
184     return offSet;
185   }
186
187   public void setOffSet(int offSet)
188   {
189     this.offSet = offSet;
190   }
191
192   /**
193    * locate column given field name
194    * 
195    * @param string
196    *          - field name
197    * @return -1 if not located
198    */
199   public int getFieldIndex(String string)
200   {
201     int i = associatedSequence != null ? 1 : 0;
202     for (FTSDataColumnI field : wantedFields)
203     {
204       if (field.getName().equals(string))
205       {
206         return i;
207       }
208       i++;
209     }
210     return -1;
211   }
212 }