jp.co.melco.preserv.spatial
クラス psvRelationshipManagerImpl

java.lang.Object
  拡張jp.co.melco.preserv.spatial.AbstractRelationshipManager
      拡張jp.co.melco.preserv.spatial.psvRelationshipManagerImpl
すべての実装インタフェース:
jp.co.melco.preserv.spatial.psvFeatureRequestListener, jp.co.melco.preserv.spatial.psvRelationshipChangeListener, jp.co.melco.preserv.spatial.psvRelationshipManager

public class psvRelationshipManagerImpl
extends jp.co.melco.preserv.spatial.AbstractRelationshipManager
implements jp.co.melco.preserv.spatial.psvFeatureRequestListener

タイトル: 関連管理クラス

説明: 関連管理を行うクラスです。

著作権: Copyright (c) 2005

会社名: Mitsubishi Electric Corporation

導入されたバージョン:
6.0
作成者:
PreSerV Development Team

フィールドの概要
protected static int EXIST_VALUE
          関連取得済みで、関連がある状態を表します。
protected static int GET_NOT_YET
          関連未取得状態を表します。
static int LEAF
          internalIdが関連先である事を示します。
protected static int NO_RELATIONS
          関連取得済みですが、関連が無い状態を表します。
static int NULL
          internalIdが消去される事を示します。
protected static int REMOVED_BY_GC
          関連取得済みですが、関連がGCにより消去された事を表します。
static int ROOT
          internalIdが関連元である事を示します。
 
コンストラクタの概要
psvRelationshipManagerImpl()
           
 
メソッドの概要
protected  void changeRelatedKey(psvRelationship relationship, java.lang.Long oldKey, java.lang.Long newKey)
          関連を構成している関連元、関連先の地物管理キーをoldKeyからnewKeyへと変更します。
 void clearCachedRelatedRelation(java.lang.Long internalId)
          地物管理キーを指定して、キャッシュされた関連を解放します。
 void clearCachedRelation(java.lang.Long internalId)
          地物管理キーを指定して、キャッシュを解放します。
 void clearCachedRelationsAll()
          全キャッシュを消去します。
static boolean containsRelationship(psvRelationship[] relationships, psvRelationship relationship, java.lang.Long internalKey, int relationType)
          relationshipの中にrelationshipと同じ名称の関連が含まれるかを返します。
static java.util.List getAndRelationship(psvRelationship[] relationships1, psvRelationship[] relationships2, java.lang.Long internalKey)
          relationship1とrelationship2の両方に含まれる関連(インスタンスはrelationships2のもの)を返します。
protected  psvRelationship[] getCachedRelationships(java.lang.Long internalKey)
          地物管理キーにマッピングされてキャッシュされた地物関連を返します。
protected static int getInternalKeyLocaltion(java.lang.Long internalKey, psvRelationship relation)
          地物管理キーがrelationの何処にあるかを返します。
protected  java.util.Set getInternalKeySet(psvRelationship relationship)
          地物関連の関連元、関連先地物管理キーを返します。
protected  java.util.Set getInternalKeySet(psvRelationship[] relationships)
          地物関連の関連元、関連先地物管理キーを返します。
static java.util.List getNotContainsRelationship(psvRelationship[] targetRelationships, psvRelationship[] containsRelationships, java.lang.Long internalKey)
          targetRelationshipsのうち、containsRelationshipsに含まれない関連を返します。
static psvRelationship getRelationship(java.util.List relationshipList, java.lang.String name, java.lang.Long internalKey, int relationType)
          relationshipListの中に含まれるnameと同じ名称の関連を返します。
static psvRelationship getRelationship(psvRelationship[] relationships, java.lang.String name, java.lang.Long internalKey, int relationType)
          relationshipsの中に含まれるnameと同じ名称の関連を返します。
protected  psvRelationship[] getRelationships(java.lang.Long key)
          キーにマッピングされた関連を返します。
 psvRelationship[] getRelationships(java.lang.Long[] internalIds)
          指定されたinternalIdsに対応する関連を返します。
protected  int getState(java.lang.Long internalId)
          内部IDに対応した値の状態を返します。
 boolean isPriorFeatureHas(java.lang.Long internalId)
          internalIdで指定された内部IDの地物が持っている関連があれば、その関連を優先させる
protected static boolean isSameContents(java.util.Collection idCollectionA, java.util.Collection idCollectionB)
          idCollectionAとidCollectionBの内容が同じか判定して返します。
protected static boolean isSameRelation(psvRelationship relationship1, psvRelationship relationship2)
          realtionship1とrelationship2が同一の関連を表すかを判定して返します。
 void notifyChangeRelationship(java.lang.Long internalId, psvRelationship[] oldRelations, psvRelationship[] newRelations)
          関連が変更された事を通知します。
 void notifyFeatureAdded(psvFeature[] features)
          地物追加リクエストがされた事を通知します。
 void notifyFeatureChanged(psvFeature[] features)
          地物の変更リクエストがされた事を通知します。
 void notifyFeatureGot(psvFeature[] features)
          地物取得リクエストがされた事を通知します。
 void notifyFeatureRemoved(psvFeature[] features)
          地物削除リクエストがされた事を通知します。
 void notifyFeatureWillAdd(psvFeature[] features)
          地物追加リクエスト前を通知します。
 void notifyFeatureWillChange(psvFeature[] features)
          地物の変更リクエスト前を通知します。
 void notifyFeatureWillRemove(psvFeature[] features)
          地物削除リクエスト前を通知します。
protected  void putRelationships(java.lang.Long key, psvRelationship[] relationships)
          キーと関連をマッピングします。
protected  void releaseRelationships(java.lang.Long key)
          キーにマッピングされた関連をメモリ上から解放します。
static void removeAndInternalKey(java.util.Collection collection1, java.util.Collection collection2)
          地物管理キーのコレクション collection1とcollection2の両方に含まれる地物管理キーを、 両方のコレクションから削除します。
 void setMapBinder(jp.co.melco.preserv.spatial.psvFeatureMapBinder featureMapBinder)
          通信用オブジェクトを設定します。
protected static long[] toPrimitive(java.lang.Long[] langLongs)
          java.lang.Longの配列をプリミティブ型の配列に変換して返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

GET_NOT_YET

protected static final int GET_NOT_YET
関連未取得状態を表します。

関連項目:
定数フィールド値

NO_RELATIONS

protected static final int NO_RELATIONS
関連取得済みですが、関連が無い状態を表します。

関連項目:
定数フィールド値

REMOVED_BY_GC

protected static final int REMOVED_BY_GC
関連取得済みですが、関連がGCにより消去された事を表します。

関連項目:
定数フィールド値

EXIST_VALUE

protected static final int EXIST_VALUE
関連取得済みで、関連がある状態を表します。

関連項目:
定数フィールド値

ROOT

public static final int ROOT
internalIdが関連元である事を示します。

関連項目:
定数フィールド値

LEAF

public static final int LEAF
internalIdが関連先である事を示します。

関連項目:
定数フィールド値

NULL

public static final int NULL
internalIdが消去される事を示します。

関連項目:
定数フィールド値
コンストラクタの詳細

psvRelationshipManagerImpl

public psvRelationshipManagerImpl()
メソッドの詳細

setMapBinder

public void setMapBinder(jp.co.melco.preserv.spatial.psvFeatureMapBinder featureMapBinder)
通信用オブジェクトを設定します。

パラメータ:
featureMapBinder - 通信用オブジェクト

getRelationships

public psvRelationship[] getRelationships(java.lang.Long[] internalIds)
指定されたinternalIdsに対応する関連を返します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvRelationshipManager 内の getRelationships
パラメータ:
internalIds - 関連取得対象の地物管理キー
戻り値:
internalIdsに該当する関連
例外:
jp.co.melco.preserv.mog.common.mdmException - 通信失敗時

notifyChangeRelationship

public void notifyChangeRelationship(java.lang.Long internalId,
                                     psvRelationship[] oldRelations,
                                     psvRelationship[] newRelations)
インタフェース jp.co.melco.preserv.spatial.psvRelationshipChangeListener の記述:
関連が変更された事を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvRelationshipChangeListener 内の notifyChangeRelationship
パラメータ:
internalId - 関連が変更された地物の内部ID
oldRelations - 古い関連オブジェクト
newRelations - 新しい関連オブジェクト

notifyFeatureChanged

public void notifyFeatureChanged(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物の変更リクエストがされた事を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureChanged
パラメータ:
features - 変更リクエストを出した地物

notifyFeatureGot

public void notifyFeatureGot(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物取得リクエストがされた事を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureGot
パラメータ:
features - 取得リクエストを出した地物

notifyFeatureRemoved

public void notifyFeatureRemoved(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物削除リクエストがされた事を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureRemoved
パラメータ:
features - 削除リクエストを出した地物

notifyFeatureAdded

public void notifyFeatureAdded(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物追加リクエストがされた事を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureAdded
パラメータ:
features - 追加リクエストを出した地物

notifyFeatureWillChange

public void notifyFeatureWillChange(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物の変更リクエスト前を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureWillChange
パラメータ:
features - 変更リクエストを出す地物

notifyFeatureWillRemove

public void notifyFeatureWillRemove(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物削除リクエスト前を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureWillRemove
パラメータ:
features - 削除リクエストを出す地物

notifyFeatureWillAdd

public void notifyFeatureWillAdd(psvFeature[] features)
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener の記述:
地物追加リクエスト前を通知します。

定義:
インタフェース jp.co.melco.preserv.spatial.psvFeatureRequestListener 内の notifyFeatureWillAdd
パラメータ:
features - 追加リクエストを出す地物

isPriorFeatureHas

public boolean isPriorFeatureHas(java.lang.Long internalId)
インタフェース jp.co.melco.preserv.spatial.psvRelationshipManager の記述:
internalIdで指定された内部IDの地物が持っている関連があれば、その関連を優先させる

定義:
インタフェース jp.co.melco.preserv.spatial.psvRelationshipManager 内の isPriorFeatureHas
パラメータ:
internalId - 内部ID
戻り値:
地物が持つ関連を優先するかどうか

clearCachedRelationsAll

public void clearCachedRelationsAll()
全キャッシュを消去します。


clearCachedRelation

public void clearCachedRelation(java.lang.Long internalId)
地物管理キーを指定して、キャッシュを解放します。

パラメータ:
internalId - 地物管理キー

clearCachedRelatedRelation

public void clearCachedRelatedRelation(java.lang.Long internalId)
地物管理キーを指定して、キャッシュされた関連を解放します。
同時に地物関連に含まれる他の地物も解放します。

パラメータ:
internalId - 地物管理キー

getState

protected int getState(java.lang.Long internalId)
内部IDに対応した値の状態を返します。

パラメータ:
internalId - 内部ID
戻り値:
本クラス GET_NOT_YET,NO_RELATIONS,REMOVED_BY_GC,EXIST_VALUEの何れか

putRelationships

protected void putRelationships(java.lang.Long key,
                                psvRelationship[] relationships)
キーと関連をマッピングします。

パラメータ:
key - キー(内部ID)
relationships - キーに対応付けられた関連オブジェクト

getCachedRelationships

protected psvRelationship[] getCachedRelationships(java.lang.Long internalKey)
地物管理キーにマッピングされてキャッシュされた地物関連を返します。

パラメータ:
internalKey - 地物管理キー
戻り値:
地物管理キーに対応付けられた関連オブジェクト

getRelationships

protected psvRelationship[] getRelationships(java.lang.Long key)
キーにマッピングされた関連を返します。

パラメータ:
key - キー(内部ID)
戻り値:
キーに対応付けられた関連オブジェクト

releaseRelationships

protected void releaseRelationships(java.lang.Long key)
キーにマッピングされた関連をメモリ上から解放します。

パラメータ:
key - キー(内部ID)

getInternalKeySet

protected java.util.Set getInternalKeySet(psvRelationship[] relationships)
地物関連の関連元、関連先地物管理キーを返します。

パラメータ:
relationships - 地物関連
戻り値:
関連元、関連先地物管理キー(要素:Long)

getInternalKeySet

protected java.util.Set getInternalKeySet(psvRelationship relationship)
地物関連の関連元、関連先地物管理キーを返します。

パラメータ:
relationship - 地物関連
戻り値:
関連元、関連先地物管理キー(要素:Long)

toPrimitive

protected static long[] toPrimitive(java.lang.Long[] langLongs)
java.lang.Longの配列をプリミティブ型の配列に変換して返します。

パラメータ:
langLongs - 変換対象
戻り値:
変換されたプリミティブ型配列

getRelationship

public static psvRelationship getRelationship(java.util.List relationshipList,
                                              java.lang.String name,
                                              java.lang.Long internalKey,
                                              int relationType)
relationshipListの中に含まれるnameと同じ名称の関連を返します。

パラメータ:
relationshipList - 関連リスト
name - 検索関連名称
internalKey - 関連を持つ地物の地物管理キー
relationType - ROOT,LEAFの何れか 地物関連を持つ地物管理キーが何処に属するかの指定
戻り値:
含まれる:含まれる関連 含まれない:null

containsRelationship

public static boolean containsRelationship(psvRelationship[] relationships,
                                           psvRelationship relationship,
                                           java.lang.Long internalKey,
                                           int relationType)
relationshipの中にrelationshipと同じ名称の関連が含まれるかを返します。

パラメータ:
relationships - 関連配列
relationship - 検索関連
internalKey - 関連を持つ地物の地物管理キー
relationType - ROOT,LEAFの何れか 地物関連を持つ地物管理キーが何処に属するかの指定
戻り値:
含まれる:true 含まれない:false

getRelationship

public static psvRelationship getRelationship(psvRelationship[] relationships,
                                              java.lang.String name,
                                              java.lang.Long internalKey,
                                              int relationType)
relationshipsの中に含まれるnameと同じ名称の関連を返します。

パラメータ:
relationships - 関連配列
name - 検索関連名称
internalKey - 関連を持つ地物の地物管理キー
relationType - ROOT,LEAFの何れか 地物関連を持つ地物管理キーが何処に属するかの指定
戻り値:
含まれる:含まれる関連 含まれない:null

getInternalKeyLocaltion

protected static int getInternalKeyLocaltion(java.lang.Long internalKey,
                                             psvRelationship relation)
地物管理キーがrelationの何処にあるかを返します。

パラメータ:
internalKey - 地物管理キー
relation - 地物関連
戻り値:
RelationDifference.NULL:なし
RelationDifference.ROOT:関連元
RelationDifference.LEAF:関連先

getAndRelationship

public static java.util.List getAndRelationship(psvRelationship[] relationships1,
                                                psvRelationship[] relationships2,
                                                java.lang.Long internalKey)
relationship1とrelationship2の両方に含まれる関連(インスタンスはrelationships2のもの)を返します。
含まれると判定する条件は関連名称のみです。

パラメータ:
relationships1 - 関連配列1
relationships2 - 関連配列2
internalKey - 関連を持つ地物の地物管理キー
戻り値:
relationship1とrelationship2の両方に含まれる関連(要素:psvRelationship)

getNotContainsRelationship

public static java.util.List getNotContainsRelationship(psvRelationship[] targetRelationships,
                                                        psvRelationship[] containsRelationships,
                                                        java.lang.Long internalKey)
targetRelationshipsのうち、containsRelationshipsに含まれない関連を返します。
含まれると判定する条件は関連名称のみです。

パラメータ:
targetRelationships - 関連配列
containsRelationships - targetRelationshipsに含まれない事を調査する関連
internalKey - 関連を持つ地物の地物管理キー
戻り値:
targetRelationshipsのうちcontainsRelationshipsに含まれない関連(要素:psvRelationship)

removeAndInternalKey

public static void removeAndInternalKey(java.util.Collection collection1,
                                        java.util.Collection collection2)
地物管理キーのコレクション collection1とcollection2の両方に含まれる地物管理キーを、 両方のコレクションから削除します。

パラメータ:
collection1 - 地物管理キーのコレクション1(要素:Long)
collection2 - 地物管理キーのコレクション2(要素:Long)

changeRelatedKey

protected void changeRelatedKey(psvRelationship relationship,
                                java.lang.Long oldKey,
                                java.lang.Long newKey)
関連を構成している関連元、関連先の地物管理キーをoldKeyからnewKeyへと変更します。

パラメータ:
relationship - 関連
oldKey - 変更前の地物管理キー
newKey - 変更後の地物管理キー

isSameRelation

protected static boolean isSameRelation(psvRelationship relationship1,
                                        psvRelationship relationship2)
realtionship1とrelationship2が同一の関連を表すかを判定して返します。

パラメータ:
relationship1 - 地物関連1
relationship2 - 地物関連2
戻り値:
realtionship1とrelationship2が同一の関連を表す:true そうではない:false

isSameContents

protected static boolean isSameContents(java.util.Collection idCollectionA,
                                        java.util.Collection idCollectionB)
idCollectionAとidCollectionBの内容が同じか判定して返します。

パラメータ:
idCollectionA - 地物管理キーのCollectionA
idCollectionB - 地物管理キーのCollectionB
戻り値:
idCollectionAとidCollectionBの内容が同じ:true そうではない:false