in extensions/core/excel/applib/src/main/java/org/apache/causeway/extensions/excel/applib/service/_CellMarshaller.java [135:241]
private boolean setCellValue(final Cell cell, final Object valueAsObj) {
if(valueAsObj == null) {
cell.setBlank();
cell.setCellStyle(defaultCellStyle);
return true;
}
// string
if(valueAsObj instanceof String) {
String value = (String) valueAsObj;
setCellValueForString(cell, value, defaultCellStyle);
return true;
}
// boolean
if(valueAsObj instanceof Boolean) {
Boolean value = (Boolean) valueAsObj;
cell.setCellValue(value);
cell.setCellStyle(defaultCellStyle);
return true;
}
// date
if(valueAsObj instanceof Date) {
Date value = (Date) valueAsObj;
setCellValueForDate(cell, value, dateCellStyle);
return true;
}
// if(valueAsObj instanceof org.apache.causeway.applib.value.Date) {
// org.apache.causeway.applib.value.Date value = (org.apache.causeway.applib.value.Date) valueAsObj;
// Date dateValue = value.dateValue();
// setCellValueForDate(cell, dateValue, dateCellStyle);
// return true;
// }
// if(valueAsObj instanceof org.apache.causeway.applib.value.DateTime) {
// org.apache.causeway.applib.value.DateTime value = (org.apache.causeway.applib.value.DateTime) valueAsObj;
// Date dateValue = value.dateValue();
// setCellValueForDate(cell, dateValue, dateCellStyle);
// return true;
// }
if(valueAsObj instanceof LocalDate) {
LocalDate value = (LocalDate) valueAsObj;
Date date = value.toDateTimeAtStartOfDay().toDate();
setCellValueForDate(cell, date, dateCellStyle);
return true;
}
if(valueAsObj instanceof LocalDateTime) {
LocalDateTime value = (LocalDateTime) valueAsObj;
Date date = value.toDate();
setCellValueForDate(cell, date, dateCellStyle);
return true;
}
if(valueAsObj instanceof DateTime) {
DateTime value = (DateTime) valueAsObj;
Date date = value.toDate();
setCellValueForDate(cell, date, dateCellStyle);
return true;
}
// number
if(valueAsObj instanceof Double) {
Double value = (Double) valueAsObj;
setCellValueForDouble(cell, value, defaultCellStyle);
return true;
}
if(valueAsObj instanceof Float) {
Float value = (Float) valueAsObj;
setCellValueForDouble(cell, value, defaultCellStyle);
return true;
}
if(valueAsObj instanceof BigDecimal) {
BigDecimal value = (BigDecimal) valueAsObj;
setCellValueForDouble(cell, value.doubleValue(), defaultCellStyle);
return true;
}
if(valueAsObj instanceof BigInteger) {
BigInteger value = (BigInteger) valueAsObj;
setCellValueForDouble(cell, value.doubleValue(), defaultCellStyle);
return true;
}
if(valueAsObj instanceof Long) {
Long value = (Long) valueAsObj;
setCellValueForDouble(cell, value, defaultCellStyle);
return true;
}
if(valueAsObj instanceof Integer) {
Integer value = (Integer) valueAsObj;
setCellValueForDouble(cell, value, defaultCellStyle);
return true;
}
if(valueAsObj instanceof Short) {
Short value = (Short) valueAsObj;
setCellValueForDouble(cell, value, defaultCellStyle);
return true;
}
if(valueAsObj instanceof Byte) {
Byte value = (Byte) valueAsObj;
setCellValueForDouble(cell, value, defaultCellStyle);
return true;
}
if(valueAsObj instanceof Enum) {
Enum<?> value = (Enum<?>) valueAsObj;
setCellValueForEnum(cell, (Enum<?>)value, defaultCellStyle);
return true;
}
return false;
}