1 /*! 2 * @include "_NameSpace.js" 3 * @include "Board.js" 4 * @include "RangeList.js" 5 * @include "Thread.js" 6 */ 7 8 /** 9 * URLを元に、該当するスレや板のオブジェクトを取得するためのオブジェクト。 10 * 検索対象は、取得済みの板一覧の現行スレおよび取得済みの過去ログで、正しいスレURLであっても 11 * 該当のスレの情報をJaneが持っていなければ検索では該当なしとなる(スレURLを元に中身が空の 12 * 新規ThreadItemオブジェクトを作る動作は行われない) 13 * @class _JVS.ThreadFinder 14 */ 15 _JVS.ThreadFinder = function() { 16 /** 17 * 作成元のCategoryListから、URLが示す板、スレを検索する。検索対象は、取得済みの板一覧の現行スレ 18 * および取得済みの過去ログで、正しいスレURLであっても該当のスレの情報をJaneが持っていなければ 19 * 検索では板のみ該当となり、スレの該当は無しとなる 20 * (スレURLを元に中身が空の新規ThreadItemオブジェクトを作る動作は行わない) 21 * Action:○ {BoardAnalysisAction:×} LateCall:○ Command:○ 22 * 23 * @param {String} URL スレまたは板のURL 24 * @return {int} 25 * 0: 該当する板やスレが見つからなかった 26 * 1: URIに該当する板がある 27 * 2: URIに該当するスレッドがある 28 */ 29 this.Find = function(URL){return 0;}; 30 31 /** 32 * 直前のFind()でURLから検索した板のBoardオブジェクト。Find()の戻り値が1または2の場合に取得でき、 33 * Find()の戻り値が0の場合にはundefined。 34 * Action:○ LateCall:○ Command:○ 35 * @type _JVS.Board 36 */ 37 this.Board = null; 38 39 /** 40 * 直前のFind()でURLから検索したスレのdat名(datファイル名から拡張子を除いたもの)。 41 * Find()の戻り値に関わらず、Findで指定されたURLを2chURLとして解釈したときにdat名と見なせる 42 * 部分を出力する。 43 * @type String 44 */ 45 this.DatNum = "1234567890"; 46 47 48 /** 49 * 直前のFind()でURLから検索したスレのレス番指定部分をRangeList形式で保持する 50 * Action:○ LateCall:○ Command:○ 51 * @example 52 * ThreadFinder.Find("http://pc12.2ch.net/test/read.cgi/win/1250004718/1-5,5,4-5"); 53 * の実行後のThreadFinder.Rangesの内容は、以下のようになる(重複削除や連結、並べ替えはされない) 54 * RangeCount == 3 55 * RangeBegin(0) == 1, RangeEnd(0) == 5 56 * RangeBegin(1) == 5, RangeEnd(1) == 5 57 * RangeBegin(2) == 4, RangeEnd(2) == 5 58 * WholeRangeWidth == 8 59 * @type _JVS.RangeList 60 */ 61 this.Ranges = null; 62 63 /** 64 * 直前のFind()でURLから検索したスレのThreadItemオブジェクト。Find()の戻り値が2の場合に取得でき、 65 * Find()の戻り値が0または1の場合にはundefined。 66 * Action:○ LateCall:○ Command:○ 67 * @type _JVS.ThreadItem 68 */ 69 this.Thread = null; 70 }; 71