https://bz.apache.org/bugzilla/show_bug.cgi?id=59791

--- Comment #4 from Javen O'Neal <[email protected]> ---
(In reply to Nick Burch from comment #2)
> Can we do this in a way that won't break backwards-compatibility?

Most of the changes were internal to POI. The user-facing changes were mostly
limited to
[Cell|HSSFCell|XSSFCell|SXSSFCell|EvaluationCell].[constructor|getCellType|setCellType|getBaseCellType].
There's not much backwards-compatibility breakage as far as the API goes, it's
just likely that these changes will impact nearly every POI user because of
code that looks like:
switch(cell.getCellType()) {
    case NUMERIC:
        return cell.getNumericCellValue();
    case STRING:
        return cell.getStringCellValue();
    ...
}

I'm afraid that we're still a couple years away from seeing POI 4.0 and don't
think this change is worth putting off that long. I'm always cautious to use
literals in my code, and I would hope that most POI users who are interested in
writing forward-compatible code would use the constants we provide rather than
hard-coding literals.

If the user-facing changes are as limited as I think they are, we could revert
the few public-facing methods to have signatures that operate on ints, but use
CellType anywhere internally, then make the final change when we begin work on
POI 4.0.

Perhaps a discussion on the users/dev list would help us figure out whether
moving forward with int->CellTypes is preferred by the community.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to