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, true, "番組長が"),
\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 MULTIVOICE ("20", false, false, "副音声/コメンタリ"),
\r
43 private boolean useregexpr;
\r
44 private boolean usekeyword;
\r
45 private String name;
\r
47 private TargetId(String id, boolean useregexpr, boolean usekeyword, String name) {
\r
49 this.useregexpr = useregexpr;
\r
50 this.usekeyword = usekeyword;
\r
55 public String toString() {
\r
59 public String getId() {
\r
63 public boolean getUseRegexpr() {
\r
67 public boolean getUseKeyword() {
\r
71 public static TargetId getTargetId(String id) {
\r
72 for ( TargetId ti : TargetId.values() ) {
\r
73 if ( ti.id.equals(id) ) {
\r
81 private String target;
\r
84 private String keyword;
\r
88 private String contain;
\r
95 private String okiniiri;
\r
98 private boolean caseSensitive;
\r
101 private boolean showInStandby = true;
\r
103 // 正規表現はプリコンパイルしておくべきだ!
\r
104 ArrayList<TargetId> alTarget = new ArrayList<TargetId>();
\r
105 ArrayList<Pattern> alKeyword_regex = new ArrayList<Pattern>();
\r
106 ArrayList<String> alKeyword = new ArrayList<String>();
\r
107 ArrayList<String> alKeyword_plane = new ArrayList<String>();
\r
108 ArrayList<String> alKeyword_pop = new ArrayList<String>();
\r
109 ArrayList<String> alContain = new ArrayList<String>();
\r
110 ArrayList<Integer> alLength = new ArrayList<Integer>();
\r
113 public void setLabel(String s) { label = s; }
\r
114 public String getLabel() { return label; }
\r
116 public void setCondition(String s) { condition = s; }
\r
117 public String getCondition() { return condition; }
\r
119 public void setInfection(String s) { infection = s; }
\r
120 public String getInfection() { return infection; }
\r
122 public void setTarget(String s) { target = s; }
\r
123 public String getTarget() { return target; }
\r
124 public void setKeyword(String s) { keyword = s; }
\r
125 public String getKeyword() { return keyword; }
\r
126 public void setContain(String s) { contain = s; }
\r
127 public String getContain() { return contain; }
\r
129 public void setOkiniiri(String s) { okiniiri = s; }
\r
130 public String getOkiniiri() { return okiniiri; }
\r
132 public void setCaseSensitive(boolean b) { caseSensitive = b; }
\r
133 public boolean getCaseSensitive() { return caseSensitive; }
\r
135 public void setShowInStandby(boolean b) { showInStandby = b; }
\r
136 public boolean getShowInStandby() { return showInStandby; }
\r