位置語法

每一個「資源」都有一個位置,其會唯一識別在特定時間點的資源。如果是檔案型資源,該位置會以檔案路徑名稱表示。如果是伺服器端資源,該位置會包含尋找物件所需的資訊(例如:VOB 中的資料庫 ID)。

在讀取或寫入資源內容時,或是在伺服器上讀取或寫入內容時,需要有資源的位置。

「位置」物件:

StpLocation 物件代表資源位址; 就本身而論,其可以用來建構資源虛擬物件(利用「提供者」的其中一個資源虛擬物件 factory 方法)。就一般規則而言,從「位置」建構之「資源」虛擬物件,必須與「位置」所定址的資源相同類型。不過,由「位置」所指定的資源類型無法一律單獨從位址規格來決定。因此,這項規則無法一律在建構虛擬物件時施行。

所有資源的位置都有穩定的形式,可在用戶端階段作業之間將資源身分儲存在用戶端中。這個穩定位置不一定是用來建立資源的位置。伺服器會在資源建立時為使用者建立這個穩定位置; 這個位置一律可用來作為資源的不變內容。StpLocation 物件提供了一些方法,可用來取得位置的字串表示法,以及將該字串剖析成位置。

StpLocation 實例代表已剖析成其元件欄位的位置規格。使用許多不同的格式或架構,以字串形式表示各種資源的位置。這些架構是由下列一或多個欄位所組成:網域儲存庫名稱名稱空間物件名稱。名稱空間欄位會決定要使用哪一個架構。

StpLocation 介面提供了一些方法,用來將位置規格剖析成其組成組件。利用這些可用的方法,Rational® CM API 用戶端可以檢查使用者提供的位置規格,以判斷位置規格是否適用於使用時所處的環境定義。根據這項分析,在環境定義明確定義那些遺漏的組件時,用戶端可以提供使用者所省略的位置規格組件。

StpProvider.stpLocation() 方法會使用其 Namespace 參數填入遺漏的位置字串架構,並使用用戶端用來識別「提供者」的預設儲存庫來填入遺漏的儲存庫,來促進這項程序。(請參閱 Javadoc 資訊中的 StpProvider.setDefaultRepository 方法。)

如果作業需要使用者專屬的檔案系統構件,則指向工作區檔案區的檔案系統路徑名稱就已足夠。如果作業需要另一種類型的使用者指定物件(如:活動、專案或記錄),請使用指定一般、完整指定的位置字串的形式之語法,來依名稱識別物件:
<domain>.<namespace>:<object-name>@<repository-name>
在下列範例中,隱含預設網域:
"stream:mystream@projects" 
瞭解位置規格的軟體可能會允許省略各種欄位。例如:

StpProvider 介面包括一些方法,可用來透過 userFriendlySelectorstableSelector 方法以 USER_FRIENDLY_LOCATION 和 STABLE_LOCATION 之類的格式建置 StpLocation。StpResource 介面包括 getStableLocationgetUserFriendlyLocation 方法,可傳回虛擬物件所定義之 STABLE_LOCATION 和 USER_FRIENDLY_LOCATION 內容的值。如果用戶端需要特定格式的位置,則應該要求對應於該格式的資源內容,而非使用 StpLocation.stpLocation()


意見反應