001 package org.util.env;
002
003 import java.util.*;
004 import java.io.*;
005 import java.net.*;
006 import java.awt.*;
007 import java.awt.event.*;
008 import javax.swing.*;
009 import javax.swing.event.*;
010
011 public class LaunchInformation {
012
013 private static boolean initialized_;
014 private static boolean jar_mode_;
015 private static URL jar_base_url_;
016 private static URL jar_parent_url_;
017
018
019 public static void init() {
020 if(initialized_) return ;
021
022 URL launch_information_class_url = ClassLoader.getSystemClassLoader().getResource("org/util/env/LaunchInformation.class");
023 jar_mode_ = (launch_information_class_url.getProtocol().toLowerCase().equals("jar"));
024
025 if(jar_mode_) {
026 String licu_text = launch_information_class_url.toString();
027 try{
028 jar_base_url_ = new URL(licu_text.substring(0, licu_text.indexOf("!")+2));
029 jar_parent_url_ = new URL(licu_text.substring(4, licu_text.indexOf("!")));
030 }catch(Exception e){
031 e.printStackTrace();
032 }
033 System.out.println(jar_base_url_);
034 }
035 initialized_ = true;
036 }
037
038 public static boolean isJarMode() {
039 init();
040 return jar_mode_;
041 }
042 public static URL getJarParentURL() {
043 init();
044 return jar_parent_url_;
045 }
046 public static URL getJarBaseURL() {
047 init();
048 return jar_base_url_;
049 }
050 public static URL createJarURL(String path) throws Exception {
051 init();
052 return new URL(jar_base_url_, path);
053 }
054 public static URL createJarParentURL(String path) throws Exception {
055 init();
056 return new URL(jar_parent_url_, path);
057 }
058
059 }