2149c57a62b1dc3a06b6d8276b574aa8876ecfc5
[jalview.git] / src / jalview / viewmodel / annotationfilter / AnnotationFilterParameter.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 package jalview.viewmodel.annotationfilter;
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26 public class AnnotationFilterParameter
27 {
28   public enum ThresholdType
29   {
30     NO_THRESHOLD, BELOW_THRESHOLD, ABOVE_THRESHOLD;
31   }
32
33   public enum SearchableAnnotationField
34   {
35     DISPLAY_STRING, DESCRIPTION;
36   }
37
38   private ThresholdType thresholdType;
39
40   private float thresholdValue;
41
42   private boolean filterAlphaHelix = false;
43
44   private boolean filterBetaSheet = false;
45
46   private boolean filterTurn = false;
47
48   private String regexString;
49
50   private List<SearchableAnnotationField> regexSearchFields = new ArrayList<SearchableAnnotationField>();
51
52   public ThresholdType getThresholdType()
53   {
54     return thresholdType;
55   }
56
57   public void setThresholdType(ThresholdType thresholdType)
58   {
59     this.thresholdType = thresholdType;
60   }
61
62   public float getThresholdValue()
63   {
64     return thresholdValue;
65   }
66
67   public void setThresholdValue(float thresholdValue)
68   {
69     this.thresholdValue = thresholdValue;
70   }
71
72   public String getRegexString()
73   {
74     return regexString;
75   }
76
77   public void setRegexString(String regexString)
78   {
79     this.regexString = regexString;
80   }
81
82   public List<SearchableAnnotationField> getRegexSearchFields()
83   {
84     return regexSearchFields;
85   }
86
87   public void addRegexSearchField(SearchableAnnotationField regexSearchField)
88   {
89     this.regexSearchFields.add(regexSearchField);
90   }
91
92   public boolean isFilterAlphaHelix()
93   {
94     return filterAlphaHelix;
95   }
96
97   public void setFilterAlphaHelix(boolean alphaHelix)
98   {
99     this.filterAlphaHelix = alphaHelix;
100   }
101
102   public boolean isFilterBetaSheet()
103   {
104     return filterBetaSheet;
105   }
106
107   public void setFilterBetaSheet(boolean betaSheet)
108   {
109     this.filterBetaSheet = betaSheet;
110   }
111
112   public boolean isFilterTurn()
113   {
114     return filterTurn;
115   }
116
117   public void setFilterTurn(boolean turn)
118   {
119     this.filterTurn = turn;
120   }
121
122 }