jp.carabiner.inkpod.pi.selector
クラス Selector

java.lang.Object
  上位を拡張 jp.carabiner.inkpod.pi.selector.Selector

public final class Selector
extends java.lang.Object

ノードのセレクタ

関連項目:
PNetworkNode, PNetworkEdge

コンストラクタの概要
Selector()
          空のセレクタを構築します。
Selector(java.util.Collection<PNetworkNode> nodeCollection)
          ノードのCollectionからセレクタを構築します。
Selector(PMapObject[] objects)
          オブジェクトの配列からセレクタを構築します。
Selector(PNetworkMap networkMap)
          ノード集合(PNetworkMap)オブジェクトからセレクタを構築します。
Selector(PNetworkNode node)
          一つのノードからセレクタを構築します。
Selector(PNetworkNode[] nodes)
          ノードの配列からセレクタを構築します。
 
メソッドの概要
 void each(EachCallback<PNetworkNode> callback)
          このセレクタが持つすべてのノードを、順番に処理します。
 int getCount()
          このセレクタが持つノードの数を返します。
 PNetworkNode getNode()
          このセレクタが持つノードを先頭の一つだけ返します。
 java.util.List<PNetworkNode> getNodeList()
          このセレクタが持つすべてのノードをListにして返します。
 PNetworkNode[] getNodes()
          このセレクタが持つすべてのノードを配列にして返します。
 boolean isEmpty()
          このセレクタが空であるかどうかを返します。
 Selector next(Condition... conditions)
          このセレクタが持っているノードから、エッジの方向に隣接するノードから選択します。
 Selector nextGraph(Condition... conditions)
          このセレクタが持っているノードから、エッジの方向にたどって到達可能なノードから選択します。
 Selector previous(Condition... conditions)
          このセレクタが持っているノードから、エッジの逆方向に隣接するノードから選択します。
 Selector previousGraph(Condition... conditions)
          このセレクタが持っているノードから、エッジの逆方向にたどって到達可能なノードから選択します。
 Selector select(Condition... conditions)
          このセレクタが持っているノードから選択します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Selector

public Selector()
空のセレクタを構築します。


Selector

public Selector(PNetworkMap networkMap)
ノード集合(PNetworkMap)オブジェクトからセレクタを構築します。

パラメータ:
networkMap - ノード集合

Selector

public Selector(PNetworkNode[] nodes)
ノードの配列からセレクタを構築します。

パラメータ:
nodes - ノードの配列

Selector

public Selector(PNetworkNode node)
一つのノードからセレクタを構築します。

パラメータ:
node - ノード

Selector

public Selector(java.util.Collection<PNetworkNode> nodeCollection)
ノードのCollectionからセレクタを構築します。

パラメータ:
nodeCollection - NetworkNodeのCollection

Selector

public Selector(PMapObject[] objects)
オブジェクトの配列からセレクタを構築します。 ただし、 配列内のオブジェクトのうち、PNodeObjectオブジェクトのみで構築されます。

パラメータ:
objects - オブジェクトの配列
メソッドの詳細

getNode

public PNetworkNode getNode()
このセレクタが持つノードを先頭の一つだけ返します。 セレクタが何もノードを持たない場合は、nullを返します

戻り値:
セレクタが持つノード、またはnull

getNodes

public PNetworkNode[] getNodes()
このセレクタが持つすべてのノードを配列にして返します。 順序は、ノードの位置に従います。Y座標の昇順で、Y座標が同じノード同士は、X座標の昇順になります。

戻り値:
セレクタが持つノードの配列

getNodeList

public java.util.List<PNetworkNode> getNodeList()
このセレクタが持つすべてのノードをListにして返します。 順序は、ノードの位置に従います。Y座標の昇順で、Y座標が同じノード同士は、X座標の昇順になります。

戻り値:
セレクタが持つノードのList

each

public void each(EachCallback<PNetworkNode> callback)
このセレクタが持つすべてのノードを、順番に処理します。

このセレクタが持つノードを引数として、 callback引数で指定されたオブジェクトのEachCallback.callback(int, Object)メソッドを呼び出します。

呼び出しの順序は、getNodes() の順序となります。

パラメータ:
callback - コールバック用オブジェクト

getCount

public int getCount()
このセレクタが持つノードの数を返します。

戻り値:
ノードの数

isEmpty

public boolean isEmpty()
このセレクタが空であるかどうかを返します。

戻り値:
セレクタが空で、1つもノードを持たない場合はtrue

select

public Selector select(Condition... conditions)
                throws SelectorRuntimeException
このセレクタが持っているノードから選択します。

conditions引数で指定された条件の、いずれかにマッチするノードを選択します。 条件が指定されなかった場合は、すべてのノードにマッチします。

conditionsに指定できるCondition.Targetは、Condition.Target.SELFのみです。 Condition.Target.EDGE, Condition.Target.NEXT では、ScriptRuntimeExceptionがthrowされます。

パラメータ:
conditions - 選択するノードの条件
戻り値:
選択されたノードを持つセレクタ
例外:
SelectorRuntimeException
関連項目:
ByObject, HasNextNode, HasNextEdge, HasPreviousNode, HasPreviousEdge, IsType, Not, PropertyEq, PropertyGt, PropertyGte, PropertyLt, PropertyLte, PropertyRegex

next

public Selector next(Condition... conditions)
              throws SelectorRuntimeException
このセレクタが持っているノードから、エッジの方向に隣接するノードから選択します。

conditions引数で指定された条件の、いずれかにマッチするノードを選択します。 条件が指定されなかった場合は、すべてのノードにマッチします。

パラメータ:
conditions - 選択するノードの条件
戻り値:
選択されたノードを持つセレクタ
例外:
SelectorRuntimeException
関連項目:
ByObject, HasNextNode, HasNextEdge, HasPreviousNode, HasPreviousEdge, IsType, Not, PropertyEq, PropertyGt, PropertyGte, PropertyLt, PropertyLte, PropertyRegex

previous

public Selector previous(Condition... conditions)
                  throws SelectorRuntimeException
このセレクタが持っているノードから、エッジの逆方向に隣接するノードから選択します。

conditions引数で指定された条件の、いずれかにマッチするノードを選択します。 条件が指定されなかった場合は、すべてのノードにマッチします。

パラメータ:
conditions - 選択するノードの条件
戻り値:
選択されたノードを持つセレクタ
例外:
SelectorRuntimeException
関連項目:
ByObject, HasNextNode, HasNextEdge, HasPreviousNode, HasPreviousEdge, IsType, Not, PropertyEq, PropertyGt, PropertyGte, PropertyLt, PropertyLte, PropertyRegex

nextGraph

public Selector nextGraph(Condition... conditions)
                   throws SelectorRuntimeException
このセレクタが持っているノードから、エッジの方向にたどって到達可能なノードから選択します。

conditions引数で指定された条件の、いずれかにマッチするノードを選択します。 条件が指定されなかった場合は、すべてのノードにマッチします。

セレクタが持っているノードの隣接ノードから始めて、遠いノードへ順に調べてます。 マッチしなかったノードより先のノードは調べません。

ネットワークがループしていても問題ありません。 すでにたどったノードに戻ってくる場合には、そこで探索を中止します。

パラメータ:
conditions - 選択するノードの条件
戻り値:
選択されたノードを持つセレクタ
例外:
SelectorRuntimeException
関連項目:
ByObject, HasNextNode, HasNextEdge, HasPreviousNode, HasPreviousEdge, IsType, Not, PropertyEq, PropertyGt, PropertyGte, PropertyLt, PropertyLte, PropertyRegex

previousGraph

public Selector previousGraph(Condition... conditions)
                       throws SelectorRuntimeException
このセレクタが持っているノードから、エッジの逆方向にたどって到達可能なノードから選択します。

conditions引数で指定された条件の、いずれかにマッチするノードを選択します。 条件が指定されなかった場合は、すべてのノードにマッチします。

セレクタが持っているノードの隣接ノードから始めて、遠いノードへ順に調べてます。 マッチしなかったノードより先のノードは調べません。

ネットワークがループしていても問題ありません。 すでにたどったノードに戻ってくる場合には、そこで探索を中止します。

パラメータ:
conditions - 選択するノードの条件
戻り値:
選択されたノードを持つセレクタ
例外:
SelectorRuntimeException
関連項目:
ByObject, HasNextNode, HasNextEdge, HasPreviousNode, HasPreviousEdge, IsType, Not, PropertyEq, PropertyGt, PropertyGte, PropertyLt, PropertyLte, PropertyRegex