1 package org.sourceforge.jemm.database.memory; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.concurrent.atomic.AtomicInteger; 6 7 import org.sourceforge.jemm.database.ClassId; 8 import org.sourceforge.jemm.database.ClassInfo; 9 import org.sourceforge.jemm.database.components.se.StorageEngineClassIF; 10 11 public class ClassIFImpl implements StorageEngineClassIF { 12 13 private final Map<String,ClassId> classNamesToClassIds = new HashMap<String, ClassId>(); 14 private final Map<ClassId,ClassInfo> classIdsToInfos = new HashMap<ClassId,ClassInfo>(); 15 private AtomicInteger nextClassIdValue = new AtomicInteger(1); 16 17 @Override 18 public ClassId createClassId() { 19 return new ClassId(nextClassIdValue.getAndIncrement()); 20 } 21 22 @Override 23 public ClassInfo getClassInfoById(ClassId classId) { 24 return classIdsToInfos.get(classId); 25 } 26 27 @Override 28 public ClassId getClassIdByName(String className) { 29 return classNamesToClassIds.get(className); 30 } 31 32 @Override 33 public void saveClassInfo(ClassId classId, ClassInfo info) { 34 classNamesToClassIds.put(info.className, classId); 35 classIdsToInfos.put(classId, info); 36 } 37 }