home *** CD-ROM | disk | FTP | other *** search
- package java.text.resources;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.security.AccessController;
- import java.util.Locale;
- import java.util.Vector;
- import java.util.zip.ZipEntry;
- import java.util.zip.ZipInputStream;
- import sun.security.action.GetPropertyAction;
-
- public class LocaleData {
- private static Vector classPathSegments = new Vector();
- private static Locale[] localeList;
- private static final String PACKAGE = "java.text.resources";
- private static final String PREFIX = "LocaleElements_";
- private static final char ZIPSEPARATOR = '/';
-
- public static Locale[] getAvailableLocales(String var0) {
- Locale[] var1 = new Locale[localeList.length];
- System.arraycopy(localeList, 0, var1, 0, localeList.length);
- return var1;
- }
-
- private static String[] getClassList(String var0, String var1) {
- Vector var2 = new Vector();
- String var3 = var0.replace('.', File.separatorChar) + File.separatorChar;
- String var4 = var0.replace('.', '/') + '/';
-
- for(int var5 = 0; var5 < classPathSegments.size(); ++var5) {
- String var6 = (String)classPathSegments.elementAt(var5);
- File var7 = new File(var6);
- if (var7.exists()) {
- if (var7.isFile()) {
- scanFile(var7, var4, var2, var1);
- } else if (var7.isDirectory()) {
- String var8;
- if (var6.endsWith(File.separator)) {
- var8 = var6 + var3;
- } else {
- var8 = var6 + File.separatorChar + var3;
- }
-
- File var9 = new File(var8);
- if (var9.exists() && var9.isDirectory()) {
- scanDir(var9, var2, var1);
- }
- }
- }
- }
-
- String[] var10 = new String[var2.size()];
- var2.copyInto(var10);
- return var10;
- }
-
- private static void addClass(String var0, Vector var1, String var2) {
- if (var0 != null && var0.startsWith(var2) && !var1.contains(var0)) {
- var1.addElement(var0);
- }
-
- }
-
- private static String midString(String var0, String var1, String var2) {
- String var3;
- if (var0.startsWith(var1) && var0.endsWith(var2)) {
- var3 = var0.substring(var1.length(), var0.length() - var2.length());
- } else {
- var3 = null;
- }
-
- return var3;
- }
-
- private static void scanDir(File var0, Vector var1, String var2) {
- String[] var3 = var0.list();
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- addClass(midString(var3[var4], "", ".class"), var1, var2);
- }
-
- }
-
- private static void scanFile(File var0, String var1, Vector var2, String var3) {
- try {
- ZipInputStream var4 = new ZipInputStream(new FileInputStream(var0));
- boolean var5 = false;
-
- ZipEntry var6;
- while((var6 = var4.getNextEntry()) != null) {
- String var7 = var6.getName();
- if (var7.startsWith(var1)) {
- var5 = true;
- if (var7.endsWith(".class")) {
- addClass(midString(var7, var1, ".class"), var2, var3);
- }
- } else if (var5) {
- break;
- }
- }
- } catch (FileNotFoundException var8) {
- System.out.println("file not found:" + var8);
- } catch (IOException var9) {
- System.out.println("file IO Exception:" + var9);
- } catch (Exception var10) {
- System.out.println("Exception:" + var10);
- }
-
- }
-
- // $FF: synthetic method
- static String[] access$000(String var0, String var1) {
- return getClassList(var0, var1);
- }
-
- static {
- String var0 = (String)AccessController.doPrivileged(new GetPropertyAction("sun.boot.class.path"));
- String var1 = (String)AccessController.doPrivileged(new GetPropertyAction("java.class.path"));
- if (var1 != null && var1.length() != 0) {
- var0 = var0 + File.pathSeparator + var1;
- }
-
- String var3;
- for(; var0 != null && var0.length() != 0; classPathSegments.insertElementAt(var3, 0)) {
- int var2 = var0.lastIndexOf(File.pathSeparatorChar);
- var3 = var0.substring(var2 + 1);
- if (var2 == -1) {
- var0 = null;
- } else {
- var0 = var0.substring(0, var2);
- }
- }
-
- String[] var10 = (String[])AccessController.doPrivileged(new 1());
- int var11 = "LocaleElements_".length();
- localeList = new Locale[var10.length];
-
- for(int var4 = 0; var4 < var10.length; ++var4) {
- int var5 = 0;
- int var6 = var10[var4].indexOf(95, var11);
- String var7 = "";
- String var8 = "";
- String var9 = "";
- if (var6 == -1) {
- var7 = var10[var4].substring(var11);
- } else {
- var7 = var10[var4].substring(var11, var6);
- var5 = var10[var4].indexOf(95, var6 + 1);
- if (var5 == -1) {
- var8 = var10[var4].substring(var6 + 1);
- } else {
- var8 = var10[var4].substring(var6 + 1, var5);
- if (var5 < var10[var4].length()) {
- var9 = var10[var4].substring(var5 + 1);
- }
- }
- }
-
- localeList[var4] = new Locale(var7, var8, var9);
- }
-
- }
- }
-