By using Secondary object types, you can define set of new properties and you can dynamically add to/remove these new properties from cmis objects.
Can I apply multiple secondary types to a cmis object?
Yes
Can I create new secondary type?
Yes
Can I update secondary type?
Yes
Can I delete secondary type?
Yes
Is all repositories support secondary types?
Not necessarily, you can check whether a repository supports secondary types or not by using ‘getTypeChildren’ API.
Can an object have more than one secondary type associated with it?
Yes
As per the specification, base secondary type (cmis:secondary) may not have property definitions associated with them. Still repositories specify property definitions to the base secondary type, so that the properties can be inherited by the subtypes of the secondary type.
In the in memory repository ‘cmis:secondary’ type is defined like below.
{
"id": "cmis:secondary",
"localName": "cmis:secondary",
"localNamespace": "http:\/\/apache.org",
"displayName": "Secondary",
"queryName": "cmis:secondary",
"description": "Secondary",
"baseId": "cmis:secondary",
"creatable": false,
"fileable": false,
"queryable": true,
"fulltextIndexed": false,
"includedInSupertypeQuery": true,
"controllablePolicy": false,
"controllableACL": false,
"typeMutability": {
"create": true,
"update": false,
"delete": false
}
}
This post first appeared on Java Tutorial : Blog To Learn Java Programming, please read the originial post: here