1 /*!
  2  * @include "_InternalClasses.js"
  3  */
  4 
  5 /**
  6  * オブジェクトが参照するスレが属する板のBoardオブジェクト
  7  * Action:○ LateCall:○ Command:○
  8  * @type _JVS.Board
  9  */
 10 _JVS.ThreadItem.prototype.Board = new _JVS.Board();
 11 
 12 /**
 13  * ThreadItemが参照するスレの実体が存在しているかどうか
 14  * true  存在しており、アクセス可能
 15  * false 削除されており、アクセス不可
 16  * 
 17  * ※スレはスクリプトからThreadItemオブジェクトに参照されることで参照カウントが加算されるため、
 18  * 現在の実装ではThreadItemへの参照がある限りConnectedがfalseになることはない。
 19  * 
 20  * Action:○ LateCall:○ Command:○
 21  * @type bool
 22  */
 23 _JVS.ThreadItem.prototype.Connected = true;
 24 
 25 /**
 26  * スレのログ(datファイル)が存在するか
 27  * true  存在する
 28  * false 存在しない
 29  * Action:○ LateCall:○ Command:○
 30  * @type bool
 31  */
 32 _JVS.ThreadItem.prototype.DatExist = true;
 33 
 34 /**
 35  * dat名(datファイルのファイル名から拡張子を取り除いたもの)
 36  * Action:○ LateCall:○ Command:○
 37  * @type String
 38  */
 39 _JVS.ThreadItem.prototype.DatName = "1234567890";
 40 
 41 /**
 42  * 取得済みのdatファイルの大きさ(単位:byte)
 43  * Action:○ LateCall:○ Command:○
 44  * @type int
 45  */
 46 _JVS.ThreadItem.prototype.DatSize = 100*1024;
 47 
 48 /**
 49  * datファイル全体の文字列
 50  * Action:○ LateCall:○ Command:○
 51  * @type String
 52  */
 53 _JVS.ThreadItem.prototype.DatText = "name<>mail<>date<>message<>thread\n";
 54 
 55 /**
 56  * スレのΔレス値
 57  * Action:○ LateCall:○ Command:○
 58  * @type int
 59  */
 60 _JVS.ThreadItem.prototype.DeltaRes = 1;
 61 
 62 /**
 63  * スレの最終レスの時刻値
 64  * 最終レスが未定義値の場合は0。
 65  * Action:○ LateCall:○ Command:○
 66  * @type int
 67  */
 68 _JVS.ThreadItem.prototype.FinalRes = 0;
 69 
 70 /**
 71  * レスのあぼーん状態を取得する
 72  * Action:○ LateCall:○ Command:○
 73  * @param {int} Index あぼーんの状態を取得するレスのレス番号
 74  * @return {int} レスのあぼーん状態
 75  * 0: 通常
 76  * 1: あぼーん
 77  * 2: 透明あぼーん
 78  * 4: レスチェック
 79  */
 80 _JVS.ThreadItem.prototype.GetAbone = function(Index){return 0;};
 81 
 82 /**
 83  * レスに含まれた>>1などのレス番リンクの参照先一覧を保持したRangeListオブジェクトを取得する。
 84  * Action:○ LateCall:○ Command:○
 85  * 
 86  * @example
 87  * >>4 >>1-2 >>6-8 というリンクを持ったレスでは、次の内容のRangeListが戻り値として得られる。
 88  * 
 89  * RangeList.Count == 3
 90  * RangeList.RangeBegin(0) == 1, RangeList.RangeEnd(0) == 2
 91  * RangeList.RangeBegin(1) == 4, RangeList.RangeEnd(1) == 4
 92  * RangeList.RangeBegin(2) == 6, RangeList.RangeEnd(2) == 8
 93  * RangeList.WholeRangeWidth == 6
 94  * 
 95  * ただし、得られたRangeはソートされ、参照先の範囲が連続したものは結合、重複は削除されるので、
 96  * 元のレス番参照が例えば>>1,2 >>4 >>6-7 >>7-8であっても同じ結果になり、区別できない
 97  * 
 98  * @param {int} Index レス番リンク参照一覧を取得するレスのレス番号
 99  * @param {int} IncludeName
100  * @return {_JVS.RangeList} レス番リンク参照一覧を保持したRangeList
101  */
102 _JVS.ThreadItem.prototype.GetNumberLinks = function(Index, IncludeName){return new _JVS.RangeList();};
103 
104 /**
105  * スレの全レスについて、>>1などのレス番リンクでそのレスを参照した元スレの一覧を保持した
106  * ReferredListオブジェクトを取得する。
107  * Action:○ LateCall:○ Command:○
108  * @return {_JVS.ReferredList} そのスレのレス番リンク情報を保持したReferredListオブジェクト
109  */
110 _JVS.ThreadItem.prototype.GetReferredList = function(){return new _JVS.ReferredList();};
111 
112 /**
113  * レスの内容を保持したResItemオブジェクトを取得する
114  * Action:○ LateCall:○ Command:○
115  * @param {int} Index 内容を取得するレスのレス番
116  * @return {_JVS.ResItem} レス内容を保持したResItemオブジェクト
117  */
118 _JVS.ThreadItem.prototype.GetRes = function(Index){return new _JVS.ResItem();};
119 
120 /**
121  * レスに含まれるURLの一覧を取得する
122  * Action:○ LateCall:○ Command:○
123  * @param {int} Index URL一覧を取得するレスのレス番
124  * @return {_JVS.Strings} URL一覧を保持したStringsオブジェクト
125  */
126 _JVS.ThreadItem.prototype.GetUrlList = function(Index){return new _JVS.Strings();};
127 
128 /**
129  * Subject.txtから取得したレス数(スレ一覧の「レス」)
130  * Action:○ LateCall:○ Command:○
131  * @type int
132  */
133 _JVS.ThreadItem.prototype.ItemCount = 1;
134 
135 /**
136  * スレの勢いΔの値
137  * Action:○ LateCall:○ Command:○
138  * @type int
139  */
140 _JVS.ThreadItem.prototype.ItemDelta = 1;
141 
142 /**
143  * スレの最終取得の時刻値
144  * 最終レスが未定義値の場合は0。
145  * @type int
146  */
147 _JVS.ThreadItem.prototype.LastGot = 0;
148 
149 /**
150  * datの最終更新時刻(httpレスポンスヘッダから取得した文字列)
151  * 
152  * 参考:javascriptの日付オブジェクトに変換する方法
153  * var lastModified = new Date(thread.lastModified);
154  * 
155  * Action:○ LateCall:○ Command:○
156  * @type String
157  */
158 _JVS.ThreadItem.prototype.LastModified = "Thu, 01 Jan 1970 00:00:00 GMT";;
159 
160 /**
161  * スレの最終書き込みの時刻値。未定義値の場合は0。
162  * Action:○ LateCall:○ Command:○
163  * @type int
164  */
165 _JVS.ThreadItem.prototype.LastWrote = 0;
166 
167 /**
168  * 取得済みのレス数
169  * Action:○ LateCall:○ Command:○
170  * @type int
171  */
172 _JVS.ThreadItem.prototype.Lines = 1;
173 
174 /**
175  * 該当のスレを表示しているスレビューがある場合はそのスレを再読込する。
176  * SetAbone()であぼーん状態を設定したり、NGを新規追加した後に表示にそれらを反映するのに使用する
177  * Action:○ LateCall:○ Command:○
178  */
179 _JVS.ThreadItem.prototype.LocalReload = function(){};
180 
181 /**
182  * スレの印の状態
183  * 1: 印あり
184  * 0: 印なし
185  * Action:○ LateCall:○ Command:○
186  * @type int
187  */
188 _JVS.ThreadItem.prototype.Mark = 0;
189 
190 /**
191  * 板一覧上でのスレの番号。過去ログの場合は0
192  * Action:○ LateCall:○ Command:○
193  * @type int
194  */
195 _JVS.ThreadItem.prototype.Number = 1;
196 
197 /**
198  * システムでは使用/制御しない。
199  * スクリプトがスレごとに固有の情報を保持させたい場合に情報をこのプロパティに代入する。
200  * スクリプトごとに保存領域が分けられているので、同じThreadItemに対してA.jsとB.jsが別々に
201  * ThreadItem.Objを設定できる。逆に、他のスクリプトが設定したObjを参照することはできない。
202  * スクリプトからの参照がなくなってもObjは保持され、再度スクリプトから参照すれば値を取得可能。
203  * ただし、スレは板の更新時に参照がなければ削除→再作成されるので、ThreadItemオブジェクトから
204  * 参照されていないスレが保持するObjはそのスレが所属する板の更新により高い確率で失われる。
205  * 
206  * Action:○ LateCall:○ Command:○
207  * @type Object
208  */
209 _JVS.ThreadItem.prototype.Obj = null;
210 
211 /**
212  * 読み込み済みのスレのうち、既読になっているレスの番号
213  * 閉じた状態のスレにこの値を設定してから開くことで「この先を未読で閉じる」が設定してあるのと
214  * 同等の効果が得られる。
215  * Action:○ LateCall:○ Command:○
216  * @type int 
217  */
218 _JVS.ThreadItem.prototype.OldLines = 1;
219 
220 /**
221  * レスのあぼーん状態を設定する。SetAboneを行ってもスレビューの表示には反映されない。
222  * 表示に反映させるには、必要なあぼーんを設定した後にThreadItem.LocalReload()を呼び出して
223  * 再読込を行う。
224  * Action:○ LateCall:○ Command:○
225  * @param {int} Index あぼーんの状態を取得するレスのレス番号
226  * @param {int} Value レスに設定するあぼーん状態
227  * 0: 通常
228  * 1: あぼーん
229  * 2: 透明あぼーん
230  * 4: レスチェック
231  */
232 _JVS.ThreadItem.prototype.SetAbone = function(Index, Value){};
233 
234 /**
235  * スレのタイトル。変更すると.idxファイルに変更が保存され、以後はそのスレタイで表示される。
236  * Action:○ LateCall:○ Command:○
237  * @type String
238  */
239 _JVS.ThreadItem.prototype.Title = "";
240 
241 /**
242  * スレのURL。レス数指定などは付かない。
243  * Action:○ LateCall:○ Command:○
244  * @type String
245  */
246 _JVS.ThreadItem.prototype.URL = "";
247 
248 /**
249  * スレに記憶させたコテメールアドレス
250  * @type String
251  */
252 _JVS.ThreadItem.prototype.UserdWriteMail = "";
253 
254 /**
255  * スレに記憶させたコテ名
256  * @type String
257  */
258 _JVS.ThreadItem.prototype.UserdWriteName = "";
259 
260