[ 
https://issues.apache.org/jira/browse/DERBY-6885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-6885:
--------------------------------------
    Attachment: d6885.diff

The attached patch ([^d6885.diff]) replaces all calls to 
ReuseFactory.getInteger() and friends with auto-boxing. This simplifies the 
calling code a little. The changes are for the most part automatic (using 
Refactor->Inline in NetBeans), with a little bit of polishing to revert some 
formatting changes.

The patch also replaces ReuseFactory.getZeroLenByteArray() with a static 
constant ArrayUtil.EMPTY_BYTE_ARRAY. And it removes the now unused ReuseFactory 
class.

> Remove ReuseFactory
> -------------------
>
>                 Key: DERBY-6885
>                 URL: https://issues.apache.org/jira/browse/DERBY-6885
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.13.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d6885.diff
>
>
> ReuseFactory used to help reduce object allocations when converting 
> numbers/booleans from primitive types to object types. After DERBY-2383 and 
> DERBY-6230, the ReuseFactory methods are just wrappers around standard 
> library methods such as Integer.valueOf() and Long.valueOf().
> Callers could just as easily call the corresponding valueOf() method 
> directly, or rely on auto-boxing. Both ways use the same cache as 
> ReuseFactory currently does, so ReuseFactory has no purpose anymore.
> One exception: ReuseFactory.getZeroLenByteArray() is still used and provides 
> value, as it avoids the allocation cost when an empty byte array is needed. 
> The ArrayUtil class is probably just as good a home for it, so I propose we 
> move it there and remove the ReuseFactory class.



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

Reply via email to