管理與開發 > 整合中心功能 > 資源提供者 > Java 式資源提供者 > 物件式資源提供者
  
物件式資源提供者
com.ptc.resource.ThingBasedResourceProvidercom.ptc.resource.ResourceProvider 的子類別,其資源全都是可在 ThingWorx 中實行指定物形式的物件。此子類別也具有它自己名為 PTC.Resource.ThingBasedResourceProviderTemplate 的物範本。您可以使用 ThingWorx Composer 建立資源提供者,使其顯示以所需物形式標記的物件。您可透過從 PTC.Resource.ThingBasedResourceProviderTemplate 物範本建立物件、指定所需資源物形式組態設定,並調整其他必要組態設定來執行此操作。
或者,您也可以建立您自己的 com.ptc.resource.ThingBasedResourceProvider 子類別,並將其顯示為物範本,同時改為從新物範本建立資源提供者實例。例如,如果您要在物範本中提供預設組態設定,並且可從中建立多個類似資源提供者,便可執行此操作。
com.ptc.resource.crm.ThingworxCustomerResourceProvider 是此類 Java 類別的範例︰
@ThingworxBaseTemplateDefinition(name = "PTC.Resource.ThingBasedResourceProviderTemplate")
public class ThingworxCustomerResourceProvider extends ThingBasedResourceProvider {
public static final String DISPLAY_NAME_PROPERTY = "DisplayName";
@Override
protected void initializeThing() throws Exception {
addMapping(DISPLAY_NAME_PROPERTY, DISPLAY_NAME_PROPERTY, BaseTypes.STRING, false);
addMapping(NAME_PROPERTY, DISPLAY_NAME_PROPERTY, BaseTypes.STRING, false);
super.initializeThing();
}
資源物形式
每個物件式資源提供者都提供實行由其 ResourceThingShape 設定指定之物形式的所有物件。實行兩個此類資源物形式的任何物件都 (多餘地) 由兩個不同的資源提供者提供。例如,在資產清單中出現兩次,但具有不同 ID 且不需要圖示的單一資產。
除非明確需要執行此操作,否則強烈建議您避免使用任何資源物形式來表示資源提供者對應以外的任何項目。這麼做會允許多個此類物形式套用至單一物件,且不會要求單一資源提供者提供具有這些特性的所有物件。當某些物件意圖在功能、關係角色或屬性對應上產生差異時,使用多個資源提供者提供物件會變得有必要。
不建議在資產物範本中實行資源物形式。建立物件之後,您便無法變更其衍生自哪個物範本。因此,除非您修改範本本身 (因此而變更其所有資產),否則從實行資源物形式的物範本中建立的任何資產都將永久實行該物形式。如果物範本無法編輯,則您必須重新配置使現有資源提供者使用不同的資源物形式,並重新配置與現有提供者相關聯的所有現有資產,來實行適當資源物形式,以將資產對應至新資源提供者。但是,如果資產物件直接實行資源物形式,您可以修改您要重新對應的個別資產物件。