OSDN Git Service

[自動予約一覧]検索条件、録画設定の取得とファイルへの保存まで
[tainavi/TinyBannavi.git] / TinyBannavi / src / tainavi / AutoReserveInfo.java
1 package tainavi;\r
2 \r
3 import java.util.ArrayList;\r
4 \r
5 import taiSync.ReserveInfo;\r
6 import tainavi.TVProgram.ProgOption;\r
7 import tainavi.TVProgram.ProgSubgenre;\r
8 \r
9 \r
10 public class AutoReserveInfo implements Cloneable {\r
11         \r
12         /*******************************************************************************\r
13          * コンストラクタ\r
14          ******************************************************************************/\r
15 \r
16         // デフォルトコンストラクタ\r
17         public AutoReserveInfo() {\r
18                 super();\r
19                 \r
20                 this.timeslots = new ArrayList<String>(TIMESLOTSIZE);\r
21         }\r
22         \r
23         \r
24         /*******************************************************************************\r
25          * clone(ディープコピー)\r
26          ******************************************************************************/\r
27         \r
28         @Override\r
29         public AutoReserveInfo clone() {\r
30                 try {\r
31                         AutoReserveInfo p = (AutoReserveInfo) super.clone();\r
32                         \r
33                         p.chNames = new ArrayList<String>();\r
34                         for ( String ch : chNames ) {\r
35                                 p.chNames.add(ch);\r
36                         }\r
37                         \r
38                         p.subgenres = new ArrayList<ProgSubgenre>();\r
39                         for ( ProgSubgenre sg : subgenres ) {\r
40                                 p.subgenres.add(sg);\r
41                         }\r
42                         \r
43                         return p;\r
44                 }\r
45                 catch ( Exception e ) {\r
46                         throw new InternalError(e.toString());\r
47                 }\r
48         }\r
49 \r
50         \r
51         /*******************************************************************************\r
52          * 定数\r
53          ******************************************************************************/\r
54         \r
55         public static final int TIMESLOTSIZE = 7;\r
56         \r
57         \r
58         /*******************************************************************************\r
59          * メンバー変数\r
60          ******************************************************************************/\r
61 \r
62         /*\r
63          *  HIDDEN PARAMS\r
64          */\r
65         \r
66         private String id;                                              // ID ※レコーダが一意に割り当てるID\r
67         \r
68         /*\r
69          *  SHOWN PARAMS\r
70          */\r
71         \r
72         private String label;                                   // 一覧表示用\r
73         \r
74         private String keyword;                                 // 絞り込みキーワード\r
75         private String exKeyword;                               // 追加キーワード ※[E]排他キーワード、[T]詳細キーワード\r
76         \r
77         private boolean regularExpression;              // キーワードは正規表現\r
78         private boolean fazzySearch;                    // あいまい検索する\r
79         private boolean titleOnly;                              // 検索対象はタイトルのみ[E]\r
80 \r
81         private boolean uniqTimeslot;                   // 全曜日に同じ時間範囲を利用する ※[E]選択可、[T]true強制\r
82         private ArrayList<String> timeslots;    // 時間範囲(7日分) ※使用しない曜日にはnullを設定する\r
83         \r
84         private boolean recordedCheck;                  // 録画済み無効[E]\r
85         private int recordedCheckTerm;                  // 録画済み無効遡り範囲[E]\r
86         \r
87         private String adate;                                   // 開始日[T]\r
88         private String zdate;                                   // 終了日[T]\r
89         \r
90         private ArrayList<String> chNames = new ArrayList<String>();                            // チャンネル名 ※CHコード:[E]予約操作時と同じ、[T]コントローラの値と同じ(ただしこちらはHEX表記)\r
91         private ArrayList<ProgSubgenre> subgenres = new ArrayList<ProgSubgenre>();      // ジャンル\r
92         private ArrayList<ProgOption> options =  new ArrayList<ProgOption>();           // 番組属性 ※[E]無料/有料のみ\r
93         \r
94         private ReserveInfo recSetting;                         // 録画設定\r
95 \r
96         \r
97         /*******************************************************************************\r
98          * getter/setter\r
99          ******************************************************************************/\r
100         \r
101         public String getId() { return id; }\r
102         public void setId(String s) { id = s; }\r
103         \r
104         public String getLabel() { return label; }\r
105         public void setLabel(String s) { label = s; }\r
106 \r
107         public String getKeyword() { return keyword; }\r
108         public void setKeyword(String s) { keyword = s; }\r
109         public String getExKeyword() { return exKeyword; }\r
110         public void setExKeyword(String s) { exKeyword = s; }\r
111 \r
112         public boolean getRegularExpression() { return regularExpression; }\r
113         public void setRegularExpression(boolean b) { regularExpression = b; }\r
114         public boolean getFazzySearch() { return fazzySearch; }\r
115         public void setFazzySearch(boolean b) { fazzySearch = b; }\r
116         public boolean getTitleOnly() { return titleOnly; }\r
117         public void setTitleOnly(boolean b) { titleOnly = b; }\r
118         \r
119         public boolean getUniqTimeslot() { return uniqTimeslot; }\r
120         public void setUniqTimeslot(boolean b) { uniqTimeslot = b; }\r
121         \r
122         public int getRecordedCheckTerm() { return recordedCheckTerm; }\r
123         public void setRecordedCheckTerm(int n) { recordedCheckTerm = n; }\r
124         \r
125         /**\r
126          * 使用しない曜日の場合はnullを代入する\r
127          */\r
128         public ArrayList<String> getTimeslots() { return timeslots; }\r
129         public ArrayList<String> getChannels() { return chNames; }\r
130         \r
131         public ReserveInfo getRecSetting() { return recSetting; }\r
132         public void setRecSetting(ReserveInfo r) { recSetting = r; } \r
133         \r
134         /*******************************************************************************\r
135          * extra\r
136          ******************************************************************************/\r
137         \r
138         public String getChNames() { return (chNames.size() > 0) ? chNames.get(0) : null; }\r
139 \r
140 \r
141 }\r