[
https://issues.apache.org/jira/browse/COLLECTIONS-343?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Goran Hacek updated COLLECTIONS-343:
------------------------------------
Attachment: fix_functor_singletones.patch
Fix for this issue is simple, all classes 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.