我知道的唯一方法是遍历对象库的属性模板,并通过将符号名称与某些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
}
}
但是,如果对象存储具有大量的属性模板,则速度可能会很慢。有任何想法吗?
我正在使用CE API 5.1
最佳答案
您可以通过符号名称进行搜索:
SELECT This FROM PropertyTemplate WHERE (SymbolicName = 'DocumentTitle')