定義済みリンク形状ポリシーに加えて、JViews Framework では、独自のリンク形状ポリシーを定義できます。
一般的に、リンクの形状を変更する可能性のある IlvPolicyAwareLinkImage のメソッドが呼び出されると、以下の手順がポリシー認識リンク・イメージによって使用されます。
- リンク形状ポリシー内部のリンクでメソッドを呼び出したときに、無限反復を避けるために、リンク形状ポリシーが一時的に無効になります。
- 変更が可能かどうか、リンク形状ポリシーが調べられます。例えば、メソッド
link.insertPoint
が呼び出されると、点の挿入が可能かどうかメソッドpolicy.allowInsertPoint
によってポリシーが調べられます。 - 変更が可能な場合、実行されます (例えば、点が挿入されます)。
- リンク形状ポリシーの「変更後」コールバック・メソッドが呼び出されます。例えば、
link.insertPoint
内ではメソッドpolicy.afterInsertPoint
が呼び出されます。 これによって、ポリシーが変更に反応することができます。 - リンク形状ポリシーが再度有効になります。
- 終わりに、メソッド
afterAny
が呼び出されます。この時点ではリンク形状ポリシーが有効になっているので、このメソッドはそれ以上リンクを形状変更することはありません。ただし、クリーンアップ操作は実行できます。
IlvPolicyAwareLinkImage によって使用される IlvLinkShapePolicy のコールバック・メソッド
IlvPolicyAwareLinkImage のメソッド |
IlvLinkShapePolicy の Test メソッド |
IlvLinkShapePolicy の After メソッド |
コメント |
---|---|---|---|
setLinkShapePolicy |
onInstall |
新規ポリシーに適用されます |
|
setLinkShapePolicy |
onUninstall |
古いポリシーに適用されます |
|
insertPoint |
allowInsertPoint |
afterInsertPoint |
|
removePoint |
allowRemovePoint |
afterRemovePoint |
|
movePoint |
allowMovePoint |
afterMovePoint |
|
setIntermediateLinkPoints |
allowSetIntermediateLinkPoints |
afterSetIntermediateLinkPoints |
|
applyTransform |
allowApplyTransform |
afterApplyTransform |
|
afterAdd |
リンクがグラファーに追加された後で適用されます |
||
beforeRemove |
リンクがグラファーから削除される前に適用されます |
||
afterFromNodeMoved |
リンクのソース・ノードが移動されたときに適用されます |
||
afterToNodeMoved |
リンクの宛先ノードが移動されたときに適用されます |
||
afterAny |
上記のメソッドのいずれかの後に適用されます |