3 import java.util.ArrayList;
\r
4 import java.util.regex.Pattern;
\r
7 public class SearchKey {
\r
8 private String label;
\r
12 private String condition;
\r
16 private String infection;
\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
42 private boolean useregexpr;
\r
43 private boolean usekeyword;
\r
44 private String name;
\r
46 private TargetId(String id, boolean useregexpr, boolean usekeyword, String name) {
\r
48 this.useregexpr = useregexpr;
\r
49 this.usekeyword = usekeyword;
\r
54 public String toString() {
\r
58 public String getId() {
\r
62 public boolean getUseRegexpr() {
\r
66 public boolean getUseKeyword() {
\r
70 public static TargetId getTargetId(String id) {
\r
71 for ( TargetId ti : TargetId.values() ) {
\r
72 if ( ti.id.equals(id) ) {
\r
80 private String target;
\r
83 private String keyword;
\r
87 private String contain;
\r
94 private String okiniiri;
\r
97 private boolean caseSensitive;
\r
100 private boolean showInStandby = true;
\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
112 public void setLabel(String s) { label = s; }
\r
113 public String getLabel() { return label; }
\r
115 public void setCondition(String s) { condition = s; }
\r
116 public String getCondition() { return condition; }
\r
118 public void setInfection(String s) { infection = s; }
\r
119 public String getInfection() { return infection; }
\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
128 public void setOkiniiri(String s) { okiniiri = s; }
\r
129 public String getOkiniiri() { return okiniiri; }
\r
131 public void setCaseSensitive(boolean b) { caseSensitive = b; }
\r
132 public boolean getCaseSensitive() { return caseSensitive; }
\r
134 public void setShowInStandby(boolean b) { showInStandby = b; }
\r
135 public boolean getShowInStandby() { return showInStandby; }
\r