The ideal solution IMO would be for ReferenceMap to extend the new
AbstractHashedMap class. I wanted to do this but ran out of time before 3.0.
If this was done, the identity part becomes natural in the same way as the
IdentityMap works.

The alternative solution is to just tweak ReferenceMap as you are
suggesting. I reckon the best thing to do is to open a bugzilla ticket and
attach your code, so we can see.

Whatever, it seems like a good addition.

Stephen


----- Original Message -----
From: "Andy Malakov" <[EMAIL PROTECTED]>
> I would like to ask your opinion on providing WeakIdentityHashMap features
to ReferenceMap.
>
>
> Object cache is often implemented using ReferenceMap (WeakHashMap). This
class delegates decision on when to de-cache an objects on
> Java GC.
>
> In many systems Java objects that represent database instances use
database identity: methods Object.equals(Object) and
> Object.hashCode() are redefined to use database identity (identity defined
in terms of object table + object primary keys).
>
> When traditional java.util.Map is used to implement database caches
different instances of the same database objects present a
> problem: instances override each other. Class  java.util.IdentityHashMap
(Apache Collections 3.0: IdentityMap) can be used to solve
> this problem - this approach uses System.identityHashCode() to obtain
reference hashCode and Java comparison operator to compare
> keys (and values).
>
> What I need is functionality of IdentityMap combined with
WeakReference-based keys.
>
> Is it possible to extend ReferenceMap with an ability to use reference
identity instead of object identity? I can send you my
> prototype if you are interested (it adds about ten lines of code to
ReferenceMap).
>
>
>
> Here are some links to Sun's bug parade pages that describe similar
feature request for Java's java.util.WeakHashMap:
>
> http://developer.java.sun.com/developer/bugParade/bugs/4809420.html
> http://developer.java.sun.com/developer/bugParade/bugs/4500542.html
>
> P.S. There is a need for this feature in Apache DB-OJB project.
>
> All the Best,
> Andy
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to