OSDN Git Service

env sample
[tainavi/TinyBannavi.git] / TinyBannavi / src / tainavi / SearchKey.java
1 package tainavi;\r
2 \r
3 import java.util.ArrayList;\r
4 import java.util.regex.Pattern;\r
5 \r
6 \r
7 public class SearchKey {\r
8         private String label;\r
9         \r
10         // 0:"次のすべての条件に一致"\r
11         // 1:"次のいずれかの条件に一致"\r
12         private String condition;\r
13         \r
14         // 0:"延長感染源にする"\r
15         // 1:"延長感染源にしない"\r
16         private String infection;\r
17         \r
18         public static enum TargetId {\r
19                 TITLEANDDETAIL  ("0",   true,   true,   "番組名、内容に"),\r
20                 TITLE                   ("1",   true,   true,   "番組名に"),\r
21                 DETAIL                  ("2",   true,   true,   "番組内容に"),\r
22                 CHANNEL                 ("3",   true,   true,   "チャンネル名に"),\r
23                 GENRE                   ("4",   false,  true,   "ジャンルに"),\r
24                 NEW                             ("5",   false,  false,  "新番組"),\r
25                 LAST                    ("6",   false,  false,  "最終回"),\r
26                 REPEAT                  ("7",   false,  false,  "再放送"),\r
27                 FIRST                   ("8",   false,  false,  "初回放送"),\r
28                 LENGTH                  ("9",   false,  false,  "番組長が"),\r
29                 STARTA                  ("10",  false,  true,   "開始時刻(上限)が"),\r
30                 STARTZ                  ("11",  false,  true,   "開始時刻(下限)が"),\r
31                 SPECIAL                 ("12",  false,  false,  "特番"),\r
32                 NOSCRUMBLE              ("13",  false,  false,  "無料放送"),\r
33                 STARTDATETIME   ("14",  true,   true,   "開始日時に"),\r
34                 SUBGENRE                ("15",  false,  true,   "サブジャンルに"),\r
35                 LIVE                    ("16",  false,  false,  "生放送"),\r
36                 BILINGUAL               ("17",  false,  false,  "二か国語放送"),\r
37                 STANDIN                 ("18",  false,  false,  "吹替放送"),\r
38                 RATING                  ("19",  false,  false,  "視聴制限"),\r
39                 ;\r
40                 \r
41                 private String id;\r
42                 private boolean useregexpr;\r
43                 private boolean usekeyword;\r
44                 private String name;\r
45                 \r
46                 private TargetId(String id, boolean useregexpr, boolean usekeyword, String name) {\r
47                         this.id = id;\r
48                         this.useregexpr = useregexpr;\r
49                         this.usekeyword = usekeyword;\r
50                         this.name = name;\r
51                 }\r
52                 \r
53                 @Override\r
54                 public String toString() {\r
55                         return name;\r
56                 }\r
57                 \r
58                 public String getId() {\r
59                         return id;\r
60                 }\r
61                 \r
62                 public boolean getUseRegexpr() {\r
63                         return useregexpr;\r
64                 }\r
65                 \r
66                 public boolean getUseKeyword() {\r
67                         return usekeyword;\r
68                 }\r
69                 \r
70                 public static TargetId getTargetId(String id) {\r
71                         for ( TargetId ti : TargetId.values() ) {\r
72                                 if ( ti.id.equals(id) ) {\r
73                                         return ti;\r
74                                 }\r
75                         }\r
76                         return null;\r
77                 }\r
78         }\r
79         \r
80         private String target;\r
81         \r
82         // s\t..:キーワード\r
83         private String keyword;\r
84         \r
85         // 0\t..:"を含む番組"\r
86         // 1\t..:"を含む番組を除く"\r
87         private String contain;\r
88         \r
89         // 1:レベル1\r
90         // 2:レベル2\r
91         // 3:レベル3\r
92         // 4:レベル4\r
93         // 5:レベル5\r
94         private String okiniiri;\r
95         \r
96         // 大小同一視無効\r
97         private boolean caseSensitive;\r
98         \r
99         // 番組追跡表示あり\r
100         private boolean showInStandby = true;\r
101         \r
102         // 正規表現はプリコンパイルしておくべきだ!\r
103         ArrayList<TargetId> alTarget = new ArrayList<TargetId>();\r
104         ArrayList<Pattern> alKeyword_regex = new ArrayList<Pattern>();\r
105         ArrayList<String> alKeyword = new ArrayList<String>();\r
106         ArrayList<String> alKeyword_plane = new ArrayList<String>();\r
107         ArrayList<String> alKeyword_pop = new ArrayList<String>();\r
108         ArrayList<String> alContain = new ArrayList<String>();\r
109         ArrayList<Integer> alLength = new ArrayList<Integer>();\r
110 \r
111         //\r
112         public void setLabel(String s) { label = s; }\r
113         public String getLabel() { return label; }\r
114         \r
115         public void setCondition(String s) { condition = s; }\r
116         public String getCondition() { return condition; }\r
117         \r
118         public void setInfection(String s) { infection = s; }\r
119         public String getInfection() { return infection; }\r
120         \r
121         public void setTarget(String s) { target = s; }\r
122         public String getTarget() { return target; }\r
123         public void setKeyword(String s) { keyword = s; }\r
124         public String getKeyword() { return keyword; }\r
125         public void setContain(String s) { contain = s; }\r
126         public String getContain() { return contain; }\r
127 \r
128         public void setOkiniiri(String s) { okiniiri = s; }\r
129         public String getOkiniiri() { return okiniiri; }\r
130 \r
131         public void setCaseSensitive(boolean b) { caseSensitive = b; }\r
132         public boolean getCaseSensitive() { return caseSensitive; }\r
133 \r
134         public void setShowInStandby(boolean b) { showInStandby = b; }\r
135         public boolean getShowInStandby() { return showInStandby; }\r
136 }\r