/** Sets default values for this item. */ protected void setDefaultValues() { int[] supportedFields = pimList.getSupportedFields(); for (int i = 0; i < supportedFields.length; i++) { int field = supportedFields[i]; PIMField pimField = getField(field, false, true); if ((pimField == null || pimField.getValueCount() == 0) && pimHandler.hasDefaultValue(pimListHandle, field)) { Object value = null; switch (pimList.getFieldDataType(field)) { case PIMItem.BOOLEAN: value = new Boolean(pimHandler.getDefaultBooleanValue(pimListHandle, field)); break; case PIMItem.BINARY: value = pimHandler.getDefaultBinaryValue(pimListHandle, field); break; case PIMItem.DATE: value = new Long(pimHandler.getDefaultDateValue(pimListHandle, field)); break; case PIMItem.INT: value = new Integer(pimHandler.getDefaultIntValue(pimListHandle, field)); break; case PIMItem.STRING: value = pimHandler.getDefaultStringValue(pimListHandle, field); break; case PIMItem.STRING_ARRAY: value = pimHandler.getDefaultStringArrayValue(pimListHandle, field); break; default: continue; } addValue(field, PIMItem.ATTR_NONE, value, false); } } }