try {
for (String s : strValues) {
boolValues.add(Boolean.valueOf(s));
}
} catch (NumberFormatException e) {
throw new CmisInvalidArgumentException(propDef.getId() + " value is not a boolean value!");
}
propertyData = new PropertyBooleanImpl(propDef.getId(), boolValues);
break;
case INTEGER:
List<BigInteger> intValues = new ArrayList<BigInteger>(strValues.size());
try {
for (String s : strValues) {
intValues.add(new BigInteger(s));
}
} catch (NumberFormatException e) {
throw new CmisInvalidArgumentException(propDef.getId() + " value is not an integer value!");
}
propertyData = new PropertyIntegerImpl(propDef.getId(), intValues);
break;
case DECIMAL:
List<BigDecimal> decValues = new ArrayList<BigDecimal>(strValues.size());
try {
for (String s : strValues) {
decValues.add(new BigDecimal(s));
}
} catch (NumberFormatException e) {
throw new CmisInvalidArgumentException(propDef.getId() + " value is not an integer value!");
}
propertyData = new PropertyDecimalImpl(propDef.getId(), decValues);
break;
case DATETIME:
List<GregorianCalendar> calValues = new ArrayList<GregorianCalendar>(strValues.size());
try {
for (String s : strValues) {
GregorianCalendar cal = new GregorianCalendar();
cal.setTimeInMillis(Long.parseLong(s));
calValues.add(cal);
}
} catch (NumberFormatException e) {
throw new CmisInvalidArgumentException(propDef.getId() + " value is not an datetime value!");
}
propertyData = new PropertyDateTimeImpl(propDef.getId(), calValues);
break;
case HTML:
propertyData = new PropertyHtmlImpl(propDef.getId(), strValues);