public static CmisProperty convert(PropertyData<?> property) {
if (property == null) {
return null;
}
CmisProperty result = null;
if (property instanceof PropertyString) {
result = new CmisPropertyString();
((CmisPropertyString) result).getValue().addAll(((PropertyString) property).getValues());
} else if (property instanceof PropertyId) {
result = new CmisPropertyId();
((CmisPropertyId) result).getValue().addAll(((PropertyId) property).getValues());
} else if (property instanceof PropertyInteger) {
result = new CmisPropertyInteger();
((CmisPropertyInteger) result).getValue().addAll(((PropertyInteger) property).getValues());
} else if (property instanceof PropertyDecimal) {
result = new CmisPropertyDecimal();
((CmisPropertyDecimal) result).getValue().addAll(((PropertyDecimal) property).getValues());
} else if (property instanceof PropertyBoolean) {
result = new CmisPropertyBoolean();
((CmisPropertyBoolean) result).getValue().addAll(((PropertyBoolean) property).getValues());
} else if (property instanceof PropertyDateTime) {
result = new CmisPropertyDateTime();
((CmisPropertyDateTime) result).getValue().addAll(
convertCalendar(((PropertyDateTime) property).getValues()));
} else if (property instanceof PropertyHtml) {
result = new CmisPropertyHtml();
((CmisPropertyHtml) result).getValue().addAll(((PropertyHtml) property).getValues());
} else if (property instanceof PropertyUri) {
result = new CmisPropertyUri();
((CmisPropertyUri) result).getValue().addAll(((PropertyUri) property).getValues());
} else {
return null;
}
result.setPropertyDefinitionId(property.getId());
result.setLocalName(property.getLocalName());
result.setQueryName(property.getQueryName());
result.setDisplayName(property.getDisplayName());
return result;
}