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