CMIS ドキュメントのプロパティを読み取る方法を知っています。
しかし、どのプロパティが変更可能で、どのプロパティが読み取り専用かをどのように見分けるのでしょうか?
OpenCMIS/DotCMIS を使用。
たとえば、CMIS Workbench はそのプロパティ エディターでフィールド のみをリストしcmis:name
、他のフィールド ( などcmis:id
) をリストしないため、認識しているようです。
PropertyDefinition オブジェクトは、プロパティの更新可能性を提供します。OpenCMIS では、次のように "cmis:name" の更新可能性を取得できます。
TypeDefinition typeDef = session.getTypeDefinition("cmis:document");
Map<String,PropertyDefinition<?>> propertyDefs = typeDef.getPropertyDefinitions();
PropertyDefinition namePropertyDef = propertyDefs.get("cmis:name");
Updatability nameUpdatability = namePropertyDef.getUpdatability();
if (Updatability.READONLY.equals(nameUpdatability)
throw new Exception("This field can not be upated");
更新可能性の値の詳細については、OpenCMIS javadoc を参照してください。