取得資源虛擬物件

「提供者」類別會建置虛擬物件來回應用戶端要求。接著用戶端可以呼叫虛擬物件的方法來使用所代表的資源。用戶端可以要求「提供者」建置並傳回位於特定位置之資源的虛擬物件,以取得位於特定位置之資源的虛擬物件。例如,下列每一個範例都會針對位於「位置」變數所指定之位置的資源, 建立一個虛擬物件:
Resource my_resource = provider.resource(location);
 
CcActivity my_activity = ccProvider.ccActivity(location);

虛擬物件 Factory 方法可以取得實作其中一個介面的虛擬物件。 網域專屬的每一個提供者都有定義方法,可以為其網域中的資源建立虛擬物件。 在每一個 Factory 方法的命名慣例中,方法名稱的拼字同於虛擬物件類別,但第一個字母是小寫,不是大寫。 例如,CqProvider.cqRecord() 會傳回 CqRecord 實例。

另外有 Provider.buildProxy 方法, 這是一個替代方法,可以依給定的資源類型在指定的位置建立新的虛擬物件,還有 StpProvider.buildProxy(Class, String) 方法, 不必查看 StpLocation,就能直接從虛擬物件位置的字串表示法來取得虛擬物件,很方便。

虛擬物件不是設計來成為伺服器中之資源相關資訊的長期快取。其目的是要在起始之前, 配置執行伺服器作業所需的資料,並提供儲存器以便在其中將作業的結果傳回給用戶端。在主從式應用程式中,將資料保存在用戶端會產生資料與伺服器不同步的風險。因為這個原因,Rational® CM API 一律會從每一個 do 方法作業傳回新的虛擬物件。

請參閱位置語法以取得相關資訊。


意見