/** * Returns the list of Transliterator objects for the * given list of SingleID objects. * * @param ids list vector of SingleID objects. * @return Actual transliterators for the list of SingleIDs */ internal static IList <Transliterator> InstantiateList(IList <SingleID> ids) { Transliterator t; List <Transliterator> translits = new List <Transliterator>(); foreach (SingleID single in ids) { if (single.BasicID.Length == 0) { continue; } t = single.GetInstance(); if (t == null) { throw new ArgumentException("Illegal ID " + single.CanonID); } translits.Add(t); } // An empty list is equivalent to a Null transliterator. if (translits.Count == 0) { t = Transliterator.GetBasicInstance("Any-Null", null); if (t == null) { // Should never happen throw new ArgumentException("Internal error; cannot instantiate Any-Null"); } translits.Add(t); } return(translits); }
internal Transliterator GetInstance() { Transliterator t; if (BasicID == null || BasicID.Length == 0) { t = Transliterator.GetBasicInstance("Any-Null", CanonID); } else { t = Transliterator.GetBasicInstance(BasicID, CanonID); } if (t != null) { if (Filter != null) { t.Filter = new UnicodeSet(Filter); } } return(t); }