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

java.lang.Object
  拡張jp.co.melco.preserv.spatial.psvRequestBuffer

public class psvRequestBuffer
extends java.lang.Object

タイトル: リクエストバッファクラス

説明: リクエストをバッファするクラスです。
バッファされたリクエストは、バッファ追加関数の呼ばれた順でバッファされます。
但し、地物管理キーの整合より、追加地物のみ、又は更新、削除地物のみの何れかしかバッファ出来ません。
psvAbstractAppndixRequestBulder実装クラスを設定する事により、 ユーザが作成したmdmRequestEnvelopeを同時にサーバへ送付する事が出来ます。
また、リクエストクラス自体は隠蔽している為、IDとしてキーを用いてHashMapでも管理します。

著作権: Copyright (c) 2005

会社名: Mitsubishi Electric Corporation

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

入れ子クラスの概要
protected static class psvRequestBuffer.DefaultTag
           タイトル: リクエストクラス識別用タグクラス 著作権: Copyright (c) 2005 会社名: Mitsubishi Electric Corporation
static interface psvRequestBuffer.ErrorListener
           説明: 本クラスのエラーリスナです。
 
フィールドの概要
protected  psvAbstractAppendixRequestBuilder appendixRequestBuilder
          拡張リクエストリスナpsvAbstractAppendixRequestBuilderです。
protected  AttributeLoadable attributeLoader
          属性読込クラスです。
protected  jp.co.melco.preserv.spatial.psvBindingCore bindingCore
          通信用クラスです。
protected  java.util.List bufferedRequestList
          mdmRequestEnvelopeで構成されるバッファリングリクエストのリストです。
static int DELETE
          削除オペレーション文字列です。
protected  java.util.List errorListenerList
          エラーリスナpsvErrorListenerのリストです。
protected  java.util.List featureRequestListeners
          地物リクエストリスナリストです。
static int INSERT
          追加オペレーション文字列です。
protected  java.util.Map paramMap
          引数用リストです。
protected  psvBufferRelationManagerImpl relationshipManager
          関連管理クラスです。
protected  jp.co.melco.preserv.spatial.psvAbstractAppendixRequestBuilder.RequestOperationListener requestOperationListener
          拡張リクエスト作成クラス対応用の動作リスナです。
protected  java.util.List tagList
          タグ順序用のリストです。
protected  java.util.Map tagMap
          削除対象のmdmRequestEnvelopeを識別する為のタグMapです。
static int UPDATE
          変更オペレーション文字列です。
 
メソッドの概要
protected  boolean addRequest(java.lang.Object key, jp.co.melco.preserv.mog.common.mdmRequestEnvelope request)
          リクエストを登録します。
 boolean bufferAddFeatureRequest(psvFeature feature)
          地物追加リクエストのバッファ登録を行います。
 boolean bufferChangeFeatureRequest(psvFeature feature)
          地物変更リクエストのバッファ登録を行います。
 boolean bufferRemoveFeatureRequest(psvFeature feature)
          地物削除リクエストのバッファ登録を行います。
 void clearBufferedRequest()
          バッファされたリクエストをクリアします。
 boolean commit()
          バッファリングされた要求をコミットします。
 boolean containsAddFeatureRequest(java.lang.Long internalKey)
          地物管理キーで指定された地物の地物追加リクエストがバッファ登録されているかを返します。
 boolean containsBuffer(java.lang.Object key)
          keyで関連付けられたリクエストがバッファ登録されているかを返します。
 boolean containsChangeFeatureRequest(java.lang.Long internalKey)
          地物管理キーで指定された地物の地物変更リクエストがバッファ登録されているかを返します。
 boolean containsRemoveFeatureRequest(java.lang.Long internalKey)
          地物管理キーで指定された地物の地物削除リクエストがバッファ登録されているかを返します。
protected  void correctResponseList()
          未登録の地物登録リクエストと変更リクエストがある場合は、 変更リクエストの地物を登録に置き換え、 未登録地物の登録リクエストと削除リクエストがある場合は、両方削除します。
protected  void fireAppendixCommitError(java.lang.Object key, java.lang.String message)
          拡張リクエスト作成クラスのコミット時に発生したエラーを通知します。
protected  void fireCommitError(int type, java.lang.String message, psvFeature[] features)
          コミット時のエラーを通知します。
protected  void fireFeaturesAdded(psvFeature[] features)
          地物が追加された事を通知します。
protected  void fireFeaturesChanged(psvFeature[] features)
          地物が変更された事を通知します。
protected  void fireFeaturesGot(psvFeature[] features)
          地物が取得された事を通知します。
protected  void fireFeaturesRemoved(psvFeature[] features)
          地物が削除された事を通知します。
protected  void fireFeaturesWillAdd(psvFeature[] features)
          地物が追加される事を通知します。
protected  void fireFeaturesWillChange(psvFeature[] features)
          地物が変更される事を通知します。
protected  void fireFeaturesWillRemove(psvFeature[] features)
          地物が削除される事を通知します。
 java.lang.String getBizID()
          業務IDを返します。
 java.lang.Object getBizObject()
          業務オブジェクトを返します。
protected  psvFeature getBufferedAddFeature(java.lang.Long internalKey)
          地物管理キーで指定された、バッファされている追加地物を取得します。
protected  psvFeature getBufferedChangeFeature(java.lang.Long internalKey)
          地物管理キーで指定された、バッファされている変更地物を取得します。
protected  psvFeature getBufferedRemoveFeature(java.lang.Long internalKey)
          地物管理キーで指定された、バッファされている削除地物を取得します。
 int getBufferedRequestCount()
          バッファされたリクエストの数を返します。
protected  psvFeature[] getParamFeature(java.lang.Object tag)
          paramMapにキーを指定して地物を取得します。
static boolean hasUnregisteredRelation(psvFeature feature)
          地物が未登録の関連を持つかを返します。
static boolean hasUnregisterTopologyReference(psvFeature feature)
          ノード、エッジが未登録地物への参照を持つかを返します。
 boolean isBufferedAddRequest()
          地物追加リクエストがバッファされているかを返します。
 boolean isBufferedChangeRequest()
          地物変更リクエストがバッファされているかを返します。
 boolean isBufferedRemoveRequest()
          地物削除リクエストがバッファされているかを返します。
static boolean isEnableUpdate(psvFeature feature)
          更新可能な地物かを判定します。
 boolean isSameBizIDLastRequest(java.lang.String bizID)
          最後に追加されたリクエストが、同じbizIDかを返します。
protected  void putParamFeature(java.lang.Object tag, psvFeature feature)
          paramMapにキーを指定して地物を挿入します。
 void releaseAppendixRequestBuilder()
          本クラスに指定されている拡張リクエスト作成クラスを本クラス管理から削除します。
protected  void removeParamFeature(java.lang.Object tag)
          paramMapからキーを指定して地物を削除します。
protected  boolean removeRequest(java.lang.Object key)
          登録時のキーを使用して、リクエストを削除します。
protected  void replaceAddFeature(psvFeature changeFeature)
          変更リクエスト地物changeFeatureを追加リクエストの対象として設定し、 更新リクエスト自体は削除します。
protected  void replaceChangeFeature(psvFeature changeFeature)
          changeFeatureをparamMap,FeatureRequestEnvelopeが持つ地物を、 同じ地物の更新イベントが持つ地物と置き換えます。
 void setAppendixRequestBuilder(psvAbstractAppendixRequestBuilder appendixRequestBuilder)
          拡張リクエスト作成クラスを本クラス管理に設定します。
 void setBizID(java.lang.String bizID)
          業務IDを設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

INSERT

public static final int INSERT
追加オペレーション文字列です。

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

DELETE

public static final int DELETE
削除オペレーション文字列です。

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

UPDATE

public static final int UPDATE
変更オペレーション文字列です。

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

tagList

protected java.util.List tagList
タグ順序用のリストです。


paramMap

protected java.util.Map paramMap
引数用リストです。 DefaultTagクラスがキーとなり、 値にpsvFeature[]が入ります。


bufferedRequestList

protected java.util.List bufferedRequestList
mdmRequestEnvelopeで構成されるバッファリングリクエストのリストです。


appendixRequestBuilder

protected psvAbstractAppendixRequestBuilder appendixRequestBuilder
拡張リクエストリスナpsvAbstractAppendixRequestBuilderです。


errorListenerList

protected java.util.List errorListenerList
エラーリスナpsvErrorListenerのリストです。


tagMap

protected java.util.Map tagMap
削除対象のmdmRequestEnvelopeを識別する為のタグMapです。
キー:mdmResponseEnvelopeを区別する為のキー 値:mdmResponseEnvelope


bindingCore

protected jp.co.melco.preserv.spatial.psvBindingCore bindingCore
通信用クラスです。


attributeLoader

protected AttributeLoadable attributeLoader
属性読込クラスです。


relationshipManager

protected psvBufferRelationManagerImpl relationshipManager
関連管理クラスです。


featureRequestListeners

protected java.util.List featureRequestListeners
地物リクエストリスナリストです。
本クラスのリスナは、psvMapBinderに対するリクエストリスナでリクエストイベントを 一元化するのに用いてます。


requestOperationListener

protected jp.co.melco.preserv.spatial.psvAbstractAppendixRequestBuilder.RequestOperationListener requestOperationListener
拡張リクエスト作成クラス対応用の動作リスナです。

メソッドの詳細

getBizID

public java.lang.String getBizID()
業務IDを返します。

戻り値:
業務ID

setBizID

public void setBizID(java.lang.String bizID)
業務IDを設定します。

パラメータ:
bizID - 業務ID

getBizObject

public java.lang.Object getBizObject()
業務オブジェクトを返します。

戻り値:
業務オブジェクト

getBufferedRequestCount

public int getBufferedRequestCount()
バッファされたリクエストの数を返します。

戻り値:
バッファリクエスト数

isBufferedAddRequest

public boolean isBufferedAddRequest()
地物追加リクエストがバッファされているかを返します。

戻り値:
バッファされている:true されていない:false

isBufferedChangeRequest

public boolean isBufferedChangeRequest()
地物変更リクエストがバッファされているかを返します。

戻り値:
バッファされている:true されていない:false

isBufferedRemoveRequest

public boolean isBufferedRemoveRequest()
地物削除リクエストがバッファされているかを返します。

戻り値:
バッファされている:true されていない:false

containsAddFeatureRequest

public boolean containsAddFeatureRequest(java.lang.Long internalKey)
地物管理キーで指定された地物の地物追加リクエストがバッファ登録されているかを返します。

パラメータ:
internalKey - 地物の地物管理キー
戻り値:
バッファ登録済み:true 未登録:false

containsChangeFeatureRequest

public boolean containsChangeFeatureRequest(java.lang.Long internalKey)
地物管理キーで指定された地物の地物変更リクエストがバッファ登録されているかを返します。

パラメータ:
internalKey - 地物の地物管理キー
戻り値:
バッファ登録済み:true 未登録:false

containsRemoveFeatureRequest

public boolean containsRemoveFeatureRequest(java.lang.Long internalKey)
地物管理キーで指定された地物の地物削除リクエストがバッファ登録されているかを返します。

パラメータ:
internalKey - 地物の地物管理キー
戻り値:
バッファ登録済み:true 未登録:false

isSameBizIDLastRequest

public boolean isSameBizIDLastRequest(java.lang.String bizID)
最後に追加されたリクエストが、同じbizIDかを返します。

パラメータ:
bizID - 業務ID
戻り値:
true:最後に追加されたリクエストが同じbizID、バッファリクエスト無しの場合 false:bizIDが違う場合

containsBuffer

public boolean containsBuffer(java.lang.Object key)
keyで関連付けられたリクエストがバッファ登録されているかを返します。

パラメータ:
key - リクエストキー
戻り値:
バッファ登録済み:true 未登録:false

bufferAddFeatureRequest

public boolean bufferAddFeatureRequest(psvFeature feature)
地物追加リクエストのバッファ登録を行います。
同地物管理キーのリクエストが既にバッファ登録されている場合は登録されません。

パラメータ:
feature - 追加地物
戻り値:
追加リクエストバッファ登録成功:true 失敗:false

bufferChangeFeatureRequest

public boolean bufferChangeFeatureRequest(psvFeature feature)
地物変更リクエストのバッファ登録を行います。
同地物管理キーのリクエストが既にバッファ登録されている場合は、 既にリクエストが登録された位置に上書き登録されます。

パラメータ:
feature - 変更地物
戻り値:
変更リクエストバッファ登録成功:true 失敗:false

bufferRemoveFeatureRequest

public boolean bufferRemoveFeatureRequest(psvFeature feature)
地物削除リクエストのバッファ登録を行います。
同地物管理キーのリクエストが既にバッファ登録されている場合は登録されません。

パラメータ:
feature - 削除地物
戻り値:
削除リクエストバッファ登録成功:true 失敗:fasle

putParamFeature

protected void putParamFeature(java.lang.Object tag,
                               psvFeature feature)
paramMapにキーを指定して地物を挿入します。

パラメータ:
tag - キー
feature - 挿入地物

removeParamFeature

protected void removeParamFeature(java.lang.Object tag)
paramMapからキーを指定して地物を削除します。

パラメータ:
tag - タグ

getParamFeature

protected psvFeature[] getParamFeature(java.lang.Object tag)
paramMapにキーを指定して地物を取得します。

パラメータ:
tag - タグ

getBufferedAddFeature

protected psvFeature getBufferedAddFeature(java.lang.Long internalKey)
地物管理キーで指定された、バッファされている追加地物を取得します。

パラメータ:
internalKey - 地物管理キー
戻り値:
バッファされている追加地物

getBufferedChangeFeature

protected psvFeature getBufferedChangeFeature(java.lang.Long internalKey)
地物管理キーで指定された、バッファされている変更地物を取得します。

パラメータ:
internalKey - 地物管理キー
戻り値:
バッファされている変更地物

getBufferedRemoveFeature

protected psvFeature getBufferedRemoveFeature(java.lang.Long internalKey)
地物管理キーで指定された、バッファされている削除地物を取得します。

パラメータ:
internalKey - 地物管理キー
戻り値:
バッファされている削除地物

setAppendixRequestBuilder

public void setAppendixRequestBuilder(psvAbstractAppendixRequestBuilder appendixRequestBuilder)
拡張リクエスト作成クラスを本クラス管理に設定します。 設定する事により、作成通知されたリクエストオブジェクトが本クラスにバッファされます。

パラメータ:
appendixRequestBuilder - 拡張リクエスト作成クラス

releaseAppendixRequestBuilder

public void releaseAppendixRequestBuilder()
本クラスに指定されている拡張リクエスト作成クラスを本クラス管理から削除します。 削除する事により、作成通知が本クラスにされなくなります。


correctResponseList

protected void correctResponseList()
未登録の地物登録リクエストと変更リクエストがある場合は、 変更リクエストの地物を登録に置き換え、 未登録地物の登録リクエストと削除リクエストがある場合は、両方削除します。


isEnableUpdate

public static boolean isEnableUpdate(psvFeature feature)
更新可能な地物かを判定します。

パラメータ:
feature - 更新対象
戻り値:
更新可能:true 不可能:false

hasUnregisteredRelation

public static boolean hasUnregisteredRelation(psvFeature feature)
地物が未登録の関連を持つかを返します。

パラメータ:
feature - 地物
戻り値:
true:地物が未登録の関連を持つ false:持たない

hasUnregisterTopologyReference

public static boolean hasUnregisterTopologyReference(psvFeature feature)
ノード、エッジが未登録地物への参照を持つかを返します。

パラメータ:
feature - 調査地物
戻り値:
ノード、エッジではない、又は未登録地物への参照を持たない:true

commit

public boolean commit()
バッファリングされた要求をコミットします。 地物の追加、削除、変更に関しては、エラーリスナを追加すると、 エラーが発生した地物が通知されます。

戻り値:
コミット成功時:true 失敗時:false

fireFeaturesChanged

protected void fireFeaturesChanged(psvFeature[] features)
地物が変更された事を通知します。

パラメータ:
features - 変更地物

fireFeaturesAdded

protected void fireFeaturesAdded(psvFeature[] features)
地物が追加された事を通知します。

パラメータ:
features - 追加地物

fireFeaturesRemoved

protected void fireFeaturesRemoved(psvFeature[] features)
地物が削除された事を通知します。

パラメータ:
features - 削除地物

fireFeaturesWillChange

protected void fireFeaturesWillChange(psvFeature[] features)
地物が変更される事を通知します。

パラメータ:
features - 変更地物

fireFeaturesWillAdd

protected void fireFeaturesWillAdd(psvFeature[] features)
地物が追加される事を通知します。

パラメータ:
features - 追加地物

fireFeaturesWillRemove

protected void fireFeaturesWillRemove(psvFeature[] features)
地物が削除される事を通知します。

パラメータ:
features - 削除地物

fireFeaturesGot

protected void fireFeaturesGot(psvFeature[] features)
地物が取得された事を通知します。

パラメータ:
features - 取得地物

fireCommitError

protected void fireCommitError(int type,
                               java.lang.String message,
                               psvFeature[] features)
コミット時のエラーを通知します。

パラメータ:
type - psvRequestBuffer.INSERT,DELETE,UDPATEの何れか
message - 付加メッセージ
features - エラーが発生した地物

fireAppendixCommitError

protected void fireAppendixCommitError(java.lang.Object key,
                                       java.lang.String message)
拡張リクエスト作成クラスのコミット時に発生したエラーを通知します。

パラメータ:
key - 追加時のキー
message - 付加メッセージ

clearBufferedRequest

public void clearBufferedRequest()
バッファされたリクエストをクリアします。


addRequest

protected boolean addRequest(java.lang.Object key,
                             jp.co.melco.preserv.mog.common.mdmRequestEnvelope request)
リクエストを登録します。(キーが重複する場合は、登録されません。)

パラメータ:
key - 削除キー(HashMapのキーとして使用されます。)
request - 登録リクエスト

replaceAddFeature

protected void replaceAddFeature(psvFeature changeFeature)
変更リクエスト地物changeFeatureを追加リクエストの対象として設定し、 更新リクエスト自体は削除します。

パラメータ:
changeFeature - 変更リクエスト地物

replaceChangeFeature

protected void replaceChangeFeature(psvFeature changeFeature)
changeFeatureをparamMap,FeatureRequestEnvelopeが持つ地物を、 同じ地物の更新イベントが持つ地物と置き換えます。

パラメータ:
changeFeature - 置き換える地物

removeRequest

protected boolean removeRequest(java.lang.Object key)
登録時のキーを使用して、リクエストを削除します。

パラメータ:
key - キー
戻り値:
削除成功:true 削除失敗:false