タグの検索方法

Paraselene API には、タグを取得する方法がいくつか準備されています。
それらをまとめておきます。

クラス メソッド 説明 注意点
Page Tag getTag( name属性値 ) スケルトンが生成するアクセッサがラップしているメソッドです。
Pageは、自身へ追加・削除されたタイミングでタグのname属性値を参照し、
HashMapへname属性値をキーにタグインスタンスを登録・削除しています。
※Pageへ追加された後にname属性値を変更すると、Pageはその変更を検出できません。
このメソッドが呼ばれると、HashMapから直接インスタンスを引き当てて返します。
Paraselene APIでは最速の検索方法です。
特殊な場合を除き、スケルトンが生成するアクセッサを使用して下さい。
Tag[] getAllTag( name属性値 ) getTagと同様です。配列化されたタグ専用のHashMapで管理しています。
Paraselene APIでは最速の検索方法です。
特殊な場合を除き、スケルトンが生成するアクセッサを使用して下さい。
Tag[] getAllTagByType( タグ名 ) AやIMG等のタグ名に一致するものを探します。
DOM構造を再帰的に検索するため、検索スピードはPage内のタグ登場数に比例します。
Paraselene APIでは最も遅い検索方法と思われます。
 
Tag getFirstTagByType( タグ名 ) getAllTagByTypeが合致したもの全てを返すのに対し、最初の1件だけを返します。
検索が途中で打ち切られるので、getAllTagByTypeより速度的に有利です。
 
Tag Tag[] getTagArray() 各Tagは、自身が内包する要素のうち、タグのみをピックアップして保持しています。
このため、高速に結果が得られます。
※直接保持するタグのみが得られます。
 
Tag[] getAllTagByClass( クラス ) 引数として、Tag派生クラスを渡すと自身が内包するタグの中で、それと一致する、
または引数のクラスから派生されたクラスであるものを返します。
DOM構造を再帰的に検索するため、検索スピードはTag内のタグ登場数に比例します。
 
Tag[] getAllTagByType( タグ名 ) AやIMG等のタグ名に一致するものを探します。
DOM構造を再帰的に検索するため、検索スピードはTag内のタグ登場数に比例します。
 
Tag getFirstTagByType( タグ名 ) getAllTagByTypeが合致したもの全てを返すのに対し、最初の1件だけを返します。
検索が途中で打ち切られるので、getAllTagByTypeより速度的に有利です。
 
Tag getDirectInnerTag( HTMLPart ) 引数インスタンスを直接保持しているタグを返します。
DOM構造を再帰的に検索するため、検索スピードはTag内のタグ登場数に比例します。
 
Table Line[] getLineArray() TagのgetTagArrayの戻り値から、必要なタグのみ抽出して返しています。  
Line Column[] getColumnArray() TagのgetTagArrayの戻り値から、必要なタグのみ抽出して返しています。  
List ListItem[] getItemArray( タグ種別 ) TagのgetTagArrayの戻り値から、必要なタグのみ抽出して返しています。  
Form Control getControl( name属性値 ) FormはPageと同様に、HashMapにて保有コントロールを管理しています。
これは直接保持しているタグと、さらにネストされたタグも含んでいます。
Paraselene APIでは最速の検索方法です。
通常、メインルーチンでは使用しません。
Control[] getAllControl( name属性値 ) getControlと同様で配列バージョンです。 通常、メインルーチンでは使用しません。
Control[] getAllControl() Formが所持するHashMapから配列を作成します。
このため、高速に結果が得られます。
 
Select SelectItem[] getItemArry() TagのgetTagArrayの戻り値から、必要なタグのみ抽出して返しています。  

最終更新: 2009/10/13
特に明示されていない限り、本Wikiの内容は次のライセンスに従います:CC Attribution 3.0 Unported
文書の先頭へ
SourceForge.JP
2009 © Akira Terasaki.  
Driven by DokuWiki The Apache Software Foundation