You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Sebb (Created) (JIRA)" <ji...@apache.org> on 2011/12/13 02:31:31 UTC

[jira] [Created] (POOL-198) LinkedBlockingDeque has some non-private fields, and a package-protected internal method

LinkedBlockingDeque has some non-private fields, and a package-protected internal method
----------------------------------------------------------------------------------------

                 Key: POOL-198
                 URL: https://issues.apache.org/jira/browse/POOL-198
             Project: Commons Pool
          Issue Type: Bug
            Reporter: Sebb


LinkedBlockingDeque has non-private mutable fields first, last and lock - these should be private.

Also the method void unlink(Node<E> x) is package-protected; it should be private unless there's a very good reason to allow it to be accessed/overridden externally - in which case it the locking conditions need to be documented.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (POOL-198) LinkedBlockingDeque has some non-private fields, and a package-protected internal method

Posted by "Mark Thomas (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/POOL-198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Thomas resolved POOL-198.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0

Those issues are all side-effects of copying the class from Harmony and only changing things that had to be changed to simplify any future merging of fixes.

Given that Harmony is in / heading for the attic then there is scope to make more changes. That said, I'd prefer to minimise those changes as much as possible.

I have changed everything that was package package-private to private.

I'm not at all convinced that the change was necessary. Users should not be creating classes under any part of the org.apache namespace. However, making the changes doesn't do any harm and takes less time trying to argue the position that the change was pointless.
                
> LinkedBlockingDeque has some non-private fields, and a package-protected internal method
> ----------------------------------------------------------------------------------------
>
>                 Key: POOL-198
>                 URL: https://issues.apache.org/jira/browse/POOL-198
>             Project: Commons Pool
>          Issue Type: Bug
>            Reporter: Sebb
>             Fix For: 2.0
>
>
> LinkedBlockingDeque has non-private mutable fields first, last and lock - these should be private.
> Also the method void unlink(Node<E> x) is package-protected; it should be private unless there's a very good reason to allow it to be accessed/overridden externally - in which case it the locking conditions need to be documented.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira