You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2003/02/17 13:30:38 UTC

DO NOT REPLY [Bug 17126] New: - [RFE]Encapsulate Font and CellStyle records managed as Flyweight into org.apache.poi.hssf.usermodel package

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17126>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=17126

[RFE]Encapsulate Font and CellStyle records managed as Flyweight into org.apache.poi.hssf.usermodel package

           Summary: [RFE]Encapsulate Font and CellStyle records managed as
                    Flyweight into org.apache.poi.hssf.usermodel package
           Product: POI
           Version: 2.0-dev
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Enhancement
          Priority: Other
         Component: HSSF
        AssignedTo: poi-dev@jakarta.apache.org
        ReportedBy: kamoshida.toshiaki@future.co.jp


Hello,

I request a minor enhancement.
(I can't use english well,please read with patience...Can you understand my 
summary?)

Font and CellStyle records are managed in Workbook object,and used Flyweight 
pattern.
If two cell's attribute(cell style and font) are all same,we must set same 
object at both cell to avoid generating invalid Workbook,because attribute 
object's number is over a limit.
But it is not convenience for users.(and for some commiters?  because many 
report about it is submitted to ML repeatedly... )
Please implement cell's attributes like this(or on some better idea.I don't 
know the implementation deeply:) ),

1.HSSFCell#setCellStyle(HSSFCellStyle) causes like String#intern(String).If 
there are already registered a object that has same attributes,instead of 
registering parameter object,the cell use the object already regeistered as the 
cell's attribute.

2.HSSFCell#getCellStyle() returns, not raw attribute object's reference,but a 
shallow copy of it,to make users disable to change the cell's style attribute 
directly.

3.and other some implementation for it.

Thank you for reading.