public Object replaceElements(Object original,
Object target,
Object owner,
Map copyCache,
SessionImplementor session) throws HibernateException {
CollectionPersister cp = session.getFactory().getCollectionPersister( getRole() );
java.util.Map result = (java.util.Map) target;
result.clear();
Iterator iter = ( (java.util.Map) original ).entrySet().iterator();
while ( iter.hasNext() ) {
java.util.Map.Entry me = (java.util.Map.Entry) iter.next();
Object key = cp.getIndexType().replace( me.getKey(), null, session, owner, copyCache );
Object value = cp.getElementType().replace( me.getValue(), null, session, owner, copyCache );
result.put(key, value);
}
return result;
}
|