home *** CD-ROM | disk | FTP | other *** search
- package netscape.application;
-
- import java.io.InputStream;
- import java.net.URL;
- import netscape.util.Vector;
-
- class AppletResources {
- Application _applet;
- URL _baseURL;
- String _subdirectory = "";
- static final String CONTENTS = ".contents";
- static final String LANGUAGES = "Languages";
- static final String INTERFACES_DIRECTORY = "interfaces";
- static final String IMAGE_DIRECTORY = "images";
- static final String FONT_DIRECTORY = "fonts";
- static final String SOUND_DIRECTORY = "sounds";
-
- public AppletResources(Application var1, URL var2) {
- this._applet = var1;
- this._baseURL = var2;
- }
-
- public void setBaseURL(URL var1) {
- this._baseURL = var1;
- }
-
- public URL baseURL() {
- return this._baseURL;
- }
-
- public void setSubdirectory(String var1) {
- this._subdirectory = var1;
- if (this._subdirectory == null) {
- this._subdirectory = "";
- }
-
- }
-
- public String subdirectory() {
- return this._subdirectory;
- }
-
- public Vector availableLanguages() {
- return null;
- }
-
- private URL _urlFromBaseAndPath(URL var1, String var2) {
- URL var3;
- try {
- var3 = new URL(var1, var2);
- } catch (Exception var5) {
- System.err.println("appletResources._urlFromBaseAndPath() - " + var5);
- var3 = null;
- }
-
- return var3;
- }
-
- public Vector URLsForResource(String var1) {
- Vector var2 = new Vector();
- String var5 = this._subdirectory;
- if (var5.length() > 0 && var5.charAt(var5.length() - 1) != '/') {
- var5 = var5 + "/";
- }
-
- Vector var4 = this._applet.languagePreferences();
- Vector var3 = this.availableLanguages();
- if (var3 == null) {
- int var13 = var4.count();
-
- for(int var10 = 0; var10 < var13; ++var10) {
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, (String)var4.elementAt(var10) + ".pkg/" + var5 + var1));
- }
-
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, var5 + var1));
- return var2;
- } else if (var3.isEmpty()) {
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, var5 + var1));
- return var2;
- } else if (!var4.isEmpty()) {
- int var11 = var4.count();
-
- for(int var8 = 0; var8 < var11; ++var8) {
- if (var3.contains(var4.elementAt(var8))) {
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, (String)var4.elementAt(var8) + ".pkg/" + var5 + var1));
- }
- }
-
- var11 = var3.count();
-
- for(int var9 = 0; var9 < var11; ++var9) {
- if (!var4.contains(var3.elementAt(var9))) {
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, (String)var3.elementAt(var9) + ".pkg/" + var5 + var1));
- }
- }
-
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, var5 + var1));
- return var2;
- } else {
- int var7 = var3.count();
-
- for(int var6 = 0; var6 < var7; ++var6) {
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, (String)var3.elementAt(var6) + ".pkg/" + var5 + var1));
- }
-
- var2.addElement(this._urlFromBaseAndPath(this._baseURL, var5 + var1));
- return var2;
- }
- }
-
- public Vector URLsForInterface(String var1) {
- return this.URLsForResource("interfaces/" + var1);
- }
-
- public Vector URLsForImage(String var1) {
- return this.URLsForResource("images/" + var1);
- }
-
- public Vector URLsForFont(String var1) {
- return this.URLsForResource("fonts/" + var1);
- }
-
- public Vector URLsForSound(String var1) {
- return this.URLsForResource("sounds/" + var1);
- }
-
- public Vector URLsForResourceOfType(String var1, String var2) {
- return this.URLsForResource(var2 + "/" + var1);
- }
-
- public InputStream streamForURLs(Vector var1) {
- if (var1 != null && !var1.isEmpty()) {
- int var4 = var1.count();
-
- for(int var5 = 0; var5 < var4; ++var5) {
- try {
- URL var2 = (URL)var1.elementAt(var5);
- InputStream var3 = var2.openStream();
- return var3;
- }
- }
-
- return null;
- } else {
- return null;
- }
- }
-
- public InputStream streamForInterface(String var1) {
- return this.streamForURLs(this.URLsForInterface(var1));
- }
-
- URL urlForBitmapNamed(String var1) {
- Vector var2 = this.URLsForImage(var1);
- return var2.count() > 0 ? (URL)var2.elementAt(0) : null;
- }
-
- URL urlForSoundNamed(String var1) {
- Vector var2 = this.URLsForSound(var1);
- return var2.count() > 0 ? (URL)var2.elementAt(0) : null;
- }
-
- URL urlForFontNamed(String var1) {
- Vector var2 = this.URLsForFont(var1);
- return var2.count() > 0 ? (URL)var2.elementAt(0) : null;
- }
-
- public InputStream streamForResourceOfType(String var1, String var2) {
- return this.streamForURLs(this.URLsForResourceOfType(var1, var2));
- }
- }
-