/// <summary> /// Answers the named resource from this ResourceBundle. /// </summary> /// /// <param name="key">the name of the resource</param> /// <returns>the resource object</returns> /// <exception cref="MissingResourceException">when the resource is not found</exception> public virtual Object GetObject(String key) { ResourceBundle last, theParent = this; do { Object result = theParent.HandleGetObject(key); if (result != null) { return(result); } last = theParent; theParent = theParent.parent; } while (theParent != null); throw new MissingManifestResourceException("KA029"); //$NON-NLS-1$ }
/// <summary> /// Sets the parent resource bundle of this ResourceBundle. The parent is /// searched for resources which are not found in this resource bundle. /// </summary> /// /// <param name="bundle">the parent resource bundle</param> protected internal void SetParent(ResourceBundle bundle) { parent = bundle; }
private static ResourceBundle HandleGetBundle(String bs, String locale_0, bool loadBase, Assembly loader_1) { ResourceBundle bundle = null; String bundleName = bs + locale_0; Object cacheKey = (loader_1 != null) ? (Object)loader_1 : (Object)"null"; //$NON-NLS-1$ Dictionary <String, ResourceBundle> loaderCache; lock (cache) { loaderCache = ((System.Collections.Generic.Dictionary <System.String, ResourceBundle>)ILOG.J2CsMapping.Collections.Generics.Collections.Get(cache, cacheKey)); if (loaderCache == null) { loaderCache = new Dictionary <String, ResourceBundle>(); cache[cacheKey] = loaderCache; //ILOG.J2CsMapping.Collections.Generics.Collections.Put(cache, (System.Object)(cacheKey), (System.Collections.Generic.Dictionary<System.String, ResourceBundle>)(loaderCache)); } } ResourceBundle result = (ResourceBundle)ILOG.J2CsMapping.Collections.Generics.Collections.Get(loaderCache, bundleName); if (result != null) { if (result == MISSINGBASE) { return(null); } if (result == MISSING) { if (!loadBase) { return(null); } String extension = Strip(locale_0); if (extension == null) { return(null); } return(HandleGetBundle(bs, extension, loadBase, loader_1)); } return(result); } try { Type bundleClass = ILOG.J2CsMapping.Reflect.Helper.GetNativeType(bundleName); if (typeof(ResourceBundle).IsAssignableFrom(bundleClass)) { bundle = (ResourceBundle)Activator.CreateInstance(bundleClass); } } catch (Exception e) { } if (bundle != null) { //bundle.SetLocale(locale_0); } else { String fileName_3 = bundleName.Replace('.', '/'); Stream stream = new Anonymous_C0(loader_1, fileName_3).Run(); if (stream != null) { try { try { //bundle = new PropertyResourceBundle(stream); } finally { stream.Close(); } //bundle.SetLocale(locale_0); } catch (IOException e_4) { } } } String extension_5 = Strip(locale_0); if (bundle != null) { if (extension_5 != null) { ResourceBundle parent_6 = HandleGetBundle(bs, extension_5, true, loader_1); if (parent_6 != null) { // bundle.SetParent(parent_6); } } ILOG.J2CsMapping.Collections.Generics.Collections.Put(loaderCache, (System.String)(bundleName), (ResourceBundle)(bundle)); return(bundle); } if (extension_5 != null && (loadBase || extension_5.Length > 0)) { bundle = HandleGetBundle(bs, extension_5, loadBase, loader_1); if (bundle != null) { ILOG.J2CsMapping.Collections.Generics.Collections.Put(loaderCache, (System.String)(bundleName), (ResourceBundle)(bundle)); return(bundle); } } ILOG.J2CsMapping.Collections.Generics.Collections.Put(loaderCache, (System.String)(bundleName), (ResourceBundle)((loadBase) ? MISSINGBASE : MISSING)); return(null); }