CsvCommonDatabaseUniqueType.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using System;
  2. namespace wf
  3. {
  4. public abstract class CsvCommonDatabaseUniqueType<Data> : CsvCommonDatabaseIDType<Data>
  5. {
  6. public bool Contains(string name)
  7. {
  8. return this.commonIdManager.nameMap.ContainsKey(name);
  9. }
  10. public int uniqueNameToId(string name)
  11. {
  12. this.Initialize();
  13. NDebug.Assert(this.commonIdManager.nameMap.ContainsKey(name), this.typeNameForErrorLog + "\nユニーク名[" + name + "]をIDに変換できませんでした");
  14. return this.commonIdManager.nameMap[name];
  15. }
  16. public string IdToUniqueName(int id)
  17. {
  18. this.Initialize();
  19. NDebug.Assert(this.commonIdManager.idMap.ContainsKey(id), string.Concat(new object[]
  20. {
  21. this.typeNameForErrorLog,
  22. "\nID[",
  23. id,
  24. "]をユニーク名に変換できませんでした"
  25. }));
  26. return this.commonIdManager.idMap[id].Key;
  27. }
  28. public Data GetData(string uniqueName)
  29. {
  30. return base.GetData(this.uniqueNameToId(uniqueName));
  31. }
  32. public bool IsEnabled(string uniqueName)
  33. {
  34. this.Initialize();
  35. return this.commonIdManager.enabledIdList.Contains(this.uniqueNameToId(uniqueName));
  36. }
  37. public override bool Initialize()
  38. {
  39. if (this.commonIdManager != null)
  40. {
  41. return false;
  42. }
  43. this.commonIdManager = new CsvCommonIdManager(this.csvTopCommonName, this.typeNameForErrorLog, CsvCommonIdManager.Type.IdAndUniqueName, null);
  44. this.basicDatas = this.CreateData(this.commonIdManager);
  45. return true;
  46. }
  47. }
  48. }