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.EnumId;
8   import org.sourceforge.jemm.database.EnumInfo;
9   import org.sourceforge.jemm.database.components.se.StorageEngineEnumIF;
10  
11  public class EnumIFImpl implements StorageEngineEnumIF {
12  
13      private final Map<String,EnumId> classNamesToEnumIds = new HashMap<String, EnumId>();
14      private final Map<EnumId,EnumInfo> enumIdsToInfos = new HashMap<EnumId,EnumInfo>();
15  	private AtomicInteger nextEnumIdValue = new AtomicInteger(1);
16  
17  	
18  	@Override
19  	public EnumId createEnumId() {
20  		return new EnumId(nextEnumIdValue.getAndIncrement());
21  	}
22  
23  	@Override
24  	public EnumId getEnumIdByName(String className) {
25  		return classNamesToEnumIds.get(className);
26  	}
27  
28  	@Override
29  	public EnumInfo getEnumInfoById(EnumId enumId) {
30  		return enumIdsToInfos.get(enumId);
31  	}
32  
33  	@Override
34  	public void saveEnumInfo(EnumId enumId, EnumInfo info) {
35  		classNamesToEnumIds.put(info.getClassName(), enumId);
36  		enumIdsToInfos.put(enumId, info);
37  	}
38  }