public static RomansCatalog GetInstance() { if (instance == null) { instance = new RomansCatalog(); } return(instance); }
private ReplacementPatternCatalog() { patterns = new List <ReplacementPattern>(); RomansCatalog romCatalog = RomansCatalog.GetInstance(); foreach (Roman r in romCatalog.GetAll()) { Roman higher = romCatalog.Higher(r); if (r.Repeatable) { if (higher == null) { continue; } StringBuilder patternBuilder = new StringBuilder(); patternBuilder.Append(r.Letter[0], 4); patterns.Add(new ReplacementPattern(patternBuilder.ToString(), string.Concat(r.Letter, higher.Letter))); } else { Roman lower = romCatalog.Lower(r); if (lower == null) { continue; } StringBuilder patternBuilder = new StringBuilder(); patternBuilder.Append(r.Letter); patternBuilder.Append(lower.Letter); patternBuilder.Append(r.Letter); StringBuilder replacementBuilder = new StringBuilder(); replacementBuilder.Append(lower.Letter); replacementBuilder.Append(higher.Letter); patterns.Add(new ReplacementPattern(patternBuilder.ToString(), replacementBuilder.ToString())); } } }
public static RomansCatalog GetInstance() { if (instance == null) instance = new RomansCatalog(); return instance; }