* @return type definition of sample type
*/
private static InMemoryDocumentTypeDefinition buildMyType() {
// always add CMIS default types
InMemoryDocumentTypeDefinition cmisType = new InMemoryDocumentTypeDefinition(MY_DOC_TYPE,
"Document Type for Validation", InMemoryDocumentTypeDefinition.getRootDocumentType());
// create a boolean property definition
Map<String, PropertyDefinition<?>> propertyDefinitions = new HashMap<String, PropertyDefinition<?>>();
PropertyDefinition<Boolean> prop = PropertyCreationHelper.createBooleanDefinition("BooleanProp",
"Sample Boolean Property");
((PropertyBooleanDefinitionImpl) prop).setIsRequired(true);
propertyDefinitions.put(prop.getId(), prop);
prop = PropertyCreationHelper.createBooleanMultiDefinition("BooleanPropMV",
"Sample Boolean multi-value Property");
propertyDefinitions.put(prop.getId(), prop);
PropertyDateTimeDefinitionImpl prop2 = PropertyCreationHelper.createDateTimeDefinition("DateTimeProp",
"Sample DateTime Property");
propertyDefinitions.put(prop2.getId(), prop2);
prop2 = PropertyCreationHelper.createDateTimeMultiDefinition("DateTimePropMV",
"Sample DateTime multi-value Property");
propertyDefinitions.put(prop2.getId(), prop2);
PropertyDecimalDefinitionImpl prop3 = PropertyCreationHelper.createDecimalDefinition("DecimalProp",
"Sample Decimal Property");
propertyDefinitions.put(prop3.getId(), prop3);
prop3 = PropertyCreationHelper.createDecimalDefinition("DecimalPropMV", "Sample Decimal multi-value Property");
propertyDefinitions.put(prop3.getId(), prop3);
PropertyHtmlDefinitionImpl prop4 = PropertyCreationHelper.createHtmlDefinition("HtmlProp",
"Sample Html Property");
propertyDefinitions.put(prop4.getId(), prop4);
prop4 = PropertyCreationHelper.createHtmlDefinition("HtmlPropMV", "Sample Html multi-value Property");
propertyDefinitions.put(prop4.getId(), prop4);
PropertyIdDefinitionImpl prop5 = PropertyCreationHelper.createIdDefinition("IdProp", "Sample Id Property");
propertyDefinitions.put(prop5.getId(), prop5);
prop5 = PropertyCreationHelper.createIdDefinition("IdPropMV", "Sample Id Html multi-value Property");
propertyDefinitions.put(prop5.getId(), prop5);
PropertyIntegerDefinitionImpl prop6 = PropertyCreationHelper.createIntegerDefinition("IntProp",
"Sample Int Property");
propertyDefinitions.put(prop6.getId(), prop6);
prop6 = PropertyCreationHelper.createIntegerDefinition("IntPropMV", "Sample Int multi-value Property");
propertyDefinitions.put(prop6.getId(), prop6);
PropertyStringDefinitionImpl prop7 = PropertyCreationHelper.createStringDefinition("StringProp",
"Sample String Property");
propertyDefinitions.put(prop7.getId(), prop7);
PropertyUriDefinitionImpl prop8 = PropertyCreationHelper.createUriDefinition("UriProp", "Sample Uri Property");
propertyDefinitions.put(prop8.getId(), prop8);
prop8 = PropertyCreationHelper.createUriDefinition("UriPropMV", "Sample Uri multi-value Property");
propertyDefinitions.put(prop8.getId(), prop8);
PropertyStringDefinitionImpl prop9 = PropertyCreationHelper.createStringDefinition(PICK_LIST_PROP_DEF,
"Sample Pick List Property");
PropertyCreationHelper.addElemToPicklist(prop9, "red");
PropertyCreationHelper.addElemToPicklist(prop9, "green");
PropertyCreationHelper.addElemToPicklist(prop9, "blue");
PropertyCreationHelper.addElemToPicklist(prop9, "black");
PropertyCreationHelper.setDefaultValue(prop9, "blue");
cmisType.setPropertyDefinitions(propertyDefinitions);
return cmisType;
}