home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / share / java / libintl.jar / gnu / gettext / GettextResource.class (.txt)
Encoding:
Java Class File  |  2009-03-03  |  4.1 KB  |  187 lines

  1. package gnu.gettext;
  2.  
  3. import java.lang.reflect.InvocationTargetException;
  4. import java.lang.reflect.Method;
  5. import java.lang.reflect.Modifier;
  6. import java.util.MissingResourceException;
  7. import java.util.ResourceBundle;
  8.  
  9. public abstract class GettextResource extends ResourceBundle {
  10.    public static boolean verbose = false;
  11.    private static final String CONTEXT_GLUE = "\u0004";
  12.    // $FF: synthetic field
  13.    static Class class$java$lang$String;
  14.  
  15.    private static String gettextnull(ResourceBundle var0, String var1) {
  16.       try {
  17.          return (String)var0.getObject(var1);
  18.       } catch (MissingResourceException var3) {
  19.          return null;
  20.       }
  21.    }
  22.  
  23.    public static String gettext(ResourceBundle var0, String var1) {
  24.       String var2 = gettextnull(var0, var1);
  25.       return var2 != null ? var2 : var1;
  26.    }
  27.  
  28.    private static String ngettextnull(ResourceBundle var0, String var1, long var2) {
  29.       do {
  30.          if (verbose) {
  31.             System.out.println("ngettext on " + var0);
  32.          }
  33.  
  34.          Method var5 = null;
  35.          Method var6 = null;
  36.  
  37.          try {
  38.             var5 = var0.getClass().getMethod("handleGetObject", class$java$lang$String == null ? (class$java$lang$String = class$("java.lang.String")) : class$java$lang$String);
  39.             var6 = var0.getClass().getMethod("getParent");
  40.          } catch (NoSuchMethodException var15) {
  41.          } catch (SecurityException var16) {
  42.          }
  43.  
  44.          if (verbose) {
  45.             System.out.println("handleGetObject = " + (var5 != null) + ", getParent = " + (var6 != null));
  46.          }
  47.  
  48.          if (var5 == null || !Modifier.isPublic(var5.getModifiers()) || var6 == null) {
  49.             break;
  50.          }
  51.  
  52.          Method var7 = null;
  53.          Method var8 = null;
  54.  
  55.          try {
  56.             var7 = var0.getClass().getMethod("lookup", class$java$lang$String == null ? (class$java$lang$String = class$("java.lang.String")) : class$java$lang$String);
  57.             var8 = var0.getClass().getMethod("pluralEval", Long.TYPE);
  58.          } catch (NoSuchMethodException var23) {
  59.          } catch (SecurityException var24) {
  60.          }
  61.  
  62.          if (verbose) {
  63.             System.out.println("lookup = " + (var7 != null) + ", pluralEval = " + (var8 != null));
  64.          }
  65.  
  66.          if (var7 != null && var8 != null) {
  67.             Object var28 = null;
  68.  
  69.             try {
  70.                var28 = var7.invoke(var0, var1);
  71.             } catch (IllegalAccessException var21) {
  72.                ((Throwable)var21).printStackTrace();
  73.             } catch (InvocationTargetException var22) {
  74.                var22.getTargetException().printStackTrace();
  75.             }
  76.  
  77.             if (var28 != null) {
  78.                if (verbose) {
  79.                   System.out.println("localValue = " + var28);
  80.                }
  81.  
  82.                if (var28 instanceof String) {
  83.                   return (String)var28;
  84.                }
  85.  
  86.                String[] var10 = (String[])var28;
  87.                long var11 = 0L;
  88.  
  89.                try {
  90.                   var11 = (Long)var8.invoke(var0, new Long(var2));
  91.                   if (var11 < 0L || var11 >= (long)var10.length) {
  92.                      var11 = 0L;
  93.                   }
  94.                } catch (IllegalAccessException var25) {
  95.                   ((Throwable)var25).printStackTrace();
  96.                } catch (InvocationTargetException var26) {
  97.                   var26.getTargetException().printStackTrace();
  98.                }
  99.  
  100.                return var10[(int)var11];
  101.             }
  102.          } else {
  103.             Object var9 = null;
  104.  
  105.             try {
  106.                var9 = var5.invoke(var0, var1);
  107.             } catch (IllegalAccessException var19) {
  108.                ((Throwable)var19).printStackTrace();
  109.             } catch (InvocationTargetException var20) {
  110.                var20.getTargetException().printStackTrace();
  111.             }
  112.  
  113.             if (var9 != null) {
  114.                if (verbose) {
  115.                   System.out.println("localValue = " + var9);
  116.                }
  117.  
  118.                return (String)var9;
  119.             }
  120.          }
  121.  
  122.          Object var29 = var0;
  123.  
  124.          try {
  125.             var29 = var6.invoke(var0);
  126.          } catch (IllegalAccessException var17) {
  127.             ((Throwable)var17).printStackTrace();
  128.          } catch (InvocationTargetException var18) {
  129.             var18.getTargetException().printStackTrace();
  130.          }
  131.  
  132.          if (var29 == var0) {
  133.             break;
  134.          }
  135.  
  136.          var0 = (ResourceBundle)var29;
  137.       } while(var0 != null);
  138.  
  139.       if (var0 != null) {
  140.          Object var27;
  141.          try {
  142.             var27 = var0.getObject(var1);
  143.          } catch (MissingResourceException var14) {
  144.             var27 = null;
  145.          }
  146.  
  147.          if (var27 != null) {
  148.             return (String)var27;
  149.          }
  150.       }
  151.  
  152.       return null;
  153.    }
  154.  
  155.    public static String ngettext(ResourceBundle var0, String var1, String var2, long var3) {
  156.       String var5 = ngettextnull(var0, var1, var3);
  157.       if (var5 != null) {
  158.          return var5;
  159.       } else {
  160.          return var3 != 1L ? var2 : var1;
  161.       }
  162.    }
  163.  
  164.    public static String pgettext(ResourceBundle var0, String var1, String var2) {
  165.       String var3 = gettextnull(var0, var1 + "\u0004" + var2);
  166.       return var3 != null ? var3 : var2;
  167.    }
  168.  
  169.    public static String npgettext(ResourceBundle var0, String var1, String var2, String var3, long var4) {
  170.       String var6 = ngettextnull(var0, var1 + "\u0004" + var2, var4);
  171.       if (var6 != null) {
  172.          return var6;
  173.       } else {
  174.          return var4 != 1L ? var3 : var2;
  175.       }
  176.    }
  177.  
  178.    // $FF: synthetic method
  179.    static Class class$(String var0) {
  180.       try {
  181.          return Class.forName(var0);
  182.       } catch (ClassNotFoundException var2) {
  183.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  184.       }
  185.    }
  186. }
  187.