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 }