protected static class

AbstractReferenceMap.ReferenceEntry

extends AbstractHashedMap.HashEntry
java.lang.Object
   ↳ org.apache.commons.collections.map.AbstractHashedMap.HashEntry
     ↳ org.apache.commons.collections.map.AbstractReferenceMap.ReferenceEntry

Class Overview

A MapEntry implementation for the map.

If getKey() or getValue() returns null, it means the mapping is stale and should be removed.

Summary

Fields
protected final AbstractReferenceMap parent The parent map
[Expand]
Inherited Fields
From class org.apache.commons.collections.map.AbstractHashedMap.HashEntry
Public Constructors
AbstractReferenceMap.ReferenceEntry(AbstractReferenceMap parent, AbstractHashedMap.HashEntry next, int hashCode, Object key, Object value)
Creates a new entry object for the ReferenceMap.
Public Methods
boolean equals(Object obj)
Compares this map entry to another.
Object getKey()
Gets the key from the entry.
Object getValue()
Gets the value from the entry.
int hashCode()
Gets the hashcode of the entry using temporary hard references.
Object setValue(Object obj)
Sets the value of the entry.
Protected Methods
AbstractReferenceMap.ReferenceEntry next()
Gets the next entry in the bucket.
Object toReference(int type, Object referent, int hash)
Constructs a reference of the given type to the given referent.
[Expand]
Inherited Methods
From class org.apache.commons.collections.map.AbstractHashedMap.HashEntry
From class java.lang.Object
From interface java.util.Map.Entry
From interface org.apache.commons.collections.KeyValue

Fields

protected final AbstractReferenceMap parent

The parent map

Public Constructors

public AbstractReferenceMap.ReferenceEntry (AbstractReferenceMap parent, AbstractHashedMap.HashEntry next, int hashCode, Object key, Object value)

Creates a new entry object for the ReferenceMap.

Parameters
parent the parent map
next the next entry in the hash bucket
hashCode the hash code of the key
key the key
value the value

Public Methods

public boolean equals (Object obj)

Compares this map entry to another.

This implementation uses isEqualKey and isEqualValue on the main map for comparison.

Parameters
obj the other map entry to compare to
Returns
  • true if equal, false if not

public Object getKey ()

Gets the key from the entry. This method dereferences weak and soft keys and thus may return null.

Returns
  • the key, which may be null if it was garbage collected

public Object getValue ()

Gets the value from the entry. This method dereferences weak and soft value and thus may return null.

Returns
  • the value, which may be null if it was garbage collected

public int hashCode ()

Gets the hashcode of the entry using temporary hard references.

This implementation uses hashEntry on the main map.

Returns
  • the hashcode of the entry

public Object setValue (Object obj)

Sets the value of the entry.

Parameters
obj the object to store
Returns
  • the previous value

Protected Methods

protected AbstractReferenceMap.ReferenceEntry next ()

Gets the next entry in the bucket.

Returns
  • the next entry in the bucket

protected Object toReference (int type, Object referent, int hash)

Constructs a reference of the given type to the given referent. The reference is registered with the queue for later purging.

Parameters
type HARD, SOFT or WEAK
referent the object to refer to
hash the hash code of the key of the mapping; this number might be different from referent.hashCode() if the referent represents a value and not a key