org.pigeonblood.impl.optional.cnif
クラス AbstractXMLCrawler

java.lang.Object
  上位を拡張 org.pigeonblood.impl.optional.cnif.AbstractXMLCrawler
すべての実装されたインタフェース:
java.util.Iterator, org.lixm.optional.v15.atattch.XMLDispatcher, org.lixm.optional.v15.atattch.XMLManipulator, org.lixm.optional.v16.framework.cnif.XMLCrawler

public abstract class AbstractXMLCrawler
extends java.lang.Object
implements org.lixm.optional.v16.framework.cnif.XMLCrawler

XMLクローラーの単純な抽象実装です。

#accept(AbstractModel)を実装し、 新たなリストで受け入れるモデルを選択します。

リスト内のクロールを開始するにはdispath()を呼び出します。

この実装ではクロールは順方向へと行われますが、 dispath()hasPrevious()previous() を利用するように再実装すれば逆方向へとクロールする事も可能です。

dispath()の実装はこのようになっています。

 public void dispath() throws LIXMException {
 if(indexer==null){ throw new LIXMException(new NullPointerException()); }
 
 AbstractModel model=null; while(this.hasNext( )){
 
 model = this.next( ); if(accept(model)){ indexer.receive(model); } } } 

導入されたバージョン:
0.2
作成者:
tasogare

コンストラクタの概要
AbstractXMLCrawler(SimpleDocumentList list, AbstractXMLIndexer indexer)
           
 
メソッドの概要
abstract  boolean accept(org.lixm.core.model.XMLModel model)
          
 void dispath()
          インデクサにモデルをディスパッチします。
 void dispath(org.lixm.optional.v15.atattch.XMLReceiver receiver)
          このメソッドはサポートしません。
 boolean hasNext()
          
 boolean hasPrevious()
          
 org.lixm.core.model.XMLModel next()
          
 org.lixm.core.model.XMLModel previous()
          
 void remove()
          このメソッドはサポートしません。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractXMLCrawler

public AbstractXMLCrawler(SimpleDocumentList list,
                          AbstractXMLIndexer indexer)
パラメータ:
list - クロール対象のリストです
indexer - インデクサです
メソッドの詳細

accept

public abstract boolean accept(org.lixm.core.model.XMLModel model)
                        throws org.lixm.core.common.LIXMPhaseException

定義:
インタフェース org.lixm.optional.v16.framework.cnif.XMLCrawler 内の accept
例外:
org.lixm.core.common.LIXMPhaseException

hasNext

public boolean hasNext()

定義:
インタフェース java.util.Iterator 内の hasNext
定義:
インタフェース org.lixm.optional.v15.atattch.XMLManipulator 内の hasNext

hasPrevious

public boolean hasPrevious()

定義:
インタフェース org.lixm.optional.v15.atattch.XMLManipulator 内の hasPrevious

next

public org.lixm.core.model.XMLModel next()
                                  throws java.util.NoSuchElementException

定義:
インタフェース java.util.Iterator 内の next
定義:
インタフェース org.lixm.optional.v15.atattch.XMLManipulator 内の next
例外:
java.util.NoSuchElementException

previous

public org.lixm.core.model.XMLModel previous()
                                      throws java.util.NoSuchElementException

定義:
インタフェース org.lixm.optional.v15.atattch.XMLManipulator 内の previous
例外:
java.util.NoSuchElementException

remove

public void remove()
            throws java.lang.UnsupportedOperationException

このメソッドはサポートしません。 必ず、UnsupportedOperationExceptionが投げられます。

定義:
インタフェース java.util.Iterator 内の remove
定義:
インタフェース org.lixm.optional.v15.atattch.XMLManipulator 内の remove
例外:
java.lang.UnsupportedOperationException

dispath

public void dispath()
             throws org.lixm.core.common.LIXMException

インデクサにモデルをディスパッチします。
この時、accept(XMLModel)によって モデルを受け入れるかどうか選択されます。

定義:
インタフェース org.lixm.optional.v15.atattch.XMLDispatcher 内の dispath
例外:
org.lixm.core.common.LIXMException - インデクサがnullのとき、 NullPointerExceptionと共に投げられます。

dispath

public void dispath(org.lixm.optional.v15.atattch.XMLReceiver receiver)
             throws java.lang.UnsupportedOperationException

このメソッドはサポートしません。 必ず、UnsupportedOperationExceptionが投げられます。

定義:
インタフェース org.lixm.optional.v15.atattch.XMLDispatcher 内の dispath
例外:
java.lang.UnsupportedOperationException