通过符号名称获取PropertyTemplate的最快方法是使用IBM FileNet CE API

ser*_*aev 6 filenet-p8 filenet-content-engine

我知道的唯一方法是迭代对象存储的属性模板,并通过比较符号名称和一些String来找到我需要的那个:

String propertySymName = "someName";
ObjectStore os = Factory.ObjectStore.fetchInstance(...); //assume object store is fetched correctly

String[] properties = {PropertyNames.PROPERTY_TEMPLATES};
os.fetchProperties(properties);
PropertyTemplateSet propertyTemplates = os.get_PropertyTemplates();
Iterator<?> iterator = propertyTemplates.iterator();
while (iterator.hasNext()) {
    PropertyTemplate propertyTemplate = (PropertyTemplate) iterator.next();
    String[] arg = {PropertyNames.SYMBOLIC_NAME};
    propertyTemplate.refresh(arg);
    if (propertyTemplate.get_SymbolicName().equals(propertySymName)) {
       //do some stuff
    }

}
Run Code Online (Sandbox Code Playgroud)

但是如果对象存储库有很多属性模板,那么它可能会相当慢.有任何想法吗?我正在使用CE API 5.1

Unc*_*ter 8

您可以通过符号名称搜索它:

SELECT This FROM PropertyTemplate WHERE (SymbolicName = 'DocumentTitle')
Run Code Online (Sandbox Code Playgroud)