arp.repository.copy.HashMapFieldCopier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ARP Show documentation
Show all versions of ARP Show documentation
a java development framework with aggregation, repository and process
The newest version!
package arp.repository.copy;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import arp.util.Unsafe;
public class HashMapFieldCopier extends BaseFieldCopier {
public HashMapFieldCopier(Field field) {
super(field);
}
@Override
public void copyField(Object fromEntity, Object toEntity) {
HashMap map = (HashMap) Unsafe.getObjectFieldOfObject(fromEntity,
fieldOffset);
HashMap copiedMap = new HashMap(map.size());
Iterator i = map.entrySet().iterator();
while (i.hasNext()) {
Entry, ?> e = i.next();
copiedMap.put(e.getKey(), EntityCopier.copy(e.getValue()));
}
Unsafe.setObjectFieldOfObject(toEntity, fieldOffset, copiedMap);
}
}