commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Goran Hacek (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (COLLECTIONS-343) Functor singleton classes do not implement singleton pattern correctly
Date Thu, 15 Oct 2009 12:50:31 GMT

    [ https://issues.apache.org/jira/browse/COLLECTIONS-343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12766039#action_12766039
] 

Goran Hacek edited comment on COLLECTIONS-343 at 10/15/09 5:49 AM:
-------------------------------------------------------------------

Fix for this issue is simple, all of these classes should implement readResolve() in the following
way:

{noformat}private Object readResolve() {
    return INSTANCE;
}
{noformat}

This also makes default equals() and hashCode() methods behave correctly for this classes.

I am providing a patch for this issue with tests, so can someone, please, review it.

      was (Author: ghacek):
    Fix for this issue is simple, all of these classes should implement readResolve() in the
following way:

{noformat}private Object readResolve() {
    return INSTANCE;
}
{noformat}

This also makes default equals() and hashCode() methods behave appropriately for this classes.

I am providing a patch for this issue with tests, so can someone, please, review it.
  
> Functor singleton classes do not implement singleton pattern correctly
> ----------------------------------------------------------------------
>
>                 Key: COLLECTIONS-343
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-343
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Functor
>            Reporter: Goran Hacek
>             Fix For: 4.0
>
>         Attachments: fix_functor_singletones.patch
>
>
> All classes in package "org.apache.commons.collections.functors" that advertise that
they have singleton instance actually cannot guarantee that.  Because of serialization support
multiple instances of those classes can exist at runtime.
> Following classes are making this false claim:
> * CloneTransformer
> * ExceptionClosure
> * ExceptionFactory
> * ExceptionPredicate
> * ExceptionTransformer
> * FalsePredicate
> * NOPClosure
> * NOPTransformer
> * NotNullPredicate
> * NullPredicate
> * StringValueTransformer
> * TruePredicate

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message