[ 
https://issues.apache.org/jira/browse/PDFBOX-2685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14321905#comment-14321905
 ] 

Maruan Sahyoun commented on PDFBOX-2685:
----------------------------------------

IMHO there are two issues. Immutability of COSInteger and caching. 
Regarding immutability other COS 'primitive' types are also affected. 

Regarding caching from the numbers around the potential benefits wouldn't it be 
better to keep the caching and look at resolving the issues arising from that? 


> COSInteger is mutable
> ---------------------
>
>                 Key: PDFBOX-2685
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2685
>             Project: PDFBox
>          Issue Type: Bug
>    Affects Versions: 1.8.8, 1.8.9, 2.0.0
>            Reporter: Tilman Hausherr
>             Fix For: 2.0.0
>
>
> From [~torakiki]:
> They are cached and they are mutable so this:
> {code}
>         COSInteger cosint = COSInteger.get(10);
>         cosint.setValue(50);
>         //lets move to a totally unrelated part of my software
>         System.out.println(COSInteger.get(10));
> {code}
> prints COSInteger(50) so basically I ask for a 10 and get a 50, isn't it 
> weird (and error prone)? ... or the way around, I call cosint.setValue(50) at 
> some point in the software and that makes it a 50 everywhere I used 
> COSInteger.get(10).
> That's of course also true for the other mutable attributes setDirect and 
> setNeedToBeUpdate.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to