View Javadoc

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  }