001         package com.croftsoft.core.jnlp;
002    
003         import java.io.*;
004         import java.net.*;
005    
006         /*********************************************************************
007         * Static library methods for JNLP.
008         *
009         * @version
010         *   2002-12-22
011         * @since
012         *   2002-12-22
013         * @author
014         *   <a href="https://www.croftsoft.com/">David Wallace Croft</a>
015         *********************************************************************/
016    
017         public final class  JnlpLib
018         //////////////////////////////////////////////////////////////////////
019         //////////////////////////////////////////////////////////////////////
020         {
021    
022         public static final JnlpServices  JNLP_SERVICES
023           = createJnlpServices ( );
024    
025         //////////////////////////////////////////////////////////////////////
026         //////////////////////////////////////////////////////////////////////
027    
028         public static URL  createFileContentsURL ( String  fileContentsSpec )
029           throws MalformedURLException, UnsupportedOperationException
030         //////////////////////////////////////////////////////////////////////
031         {
032           check ( );
033    
034           return JNLP_SERVICES.createFileContentsURL ( fileContentsSpec );
035         }
036    
037         public static URL  getCodeBase ( )
038           throws UnsupportedOperationException
039         //////////////////////////////////////////////////////////////////////
040         {
041           check ( );
042    
043           return JNLP_SERVICES.getCodeBase ( );
044         }
045    
046         public static byte [ ]  loadBytesUsingPersistenceService (
047           String  fileContentsSpec )
048           throws IOException, UnsupportedOperationException
049         //////////////////////////////////////////////////////////////////////
050         {
051           check ( );
052    
053           return JNLP_SERVICES.loadBytesUsingPersistenceService (
054             fileContentsSpec );
055         }
056    
057         public static Serializable  loadSerializableUsingPersistenceService (
058           String  fileContentsSpec )
059           throws ClassNotFoundException, IOException,
060             UnsupportedOperationException
061         //////////////////////////////////////////////////////////////////////
062         {
063           check ( );
064    
065           return JNLP_SERVICES.loadSerializableUsingPersistenceService (
066             fileContentsSpec );
067         }
068    
069         public static void  saveBytesUsingPersistenceService (
070           String    fileContentsSpec,
071           byte [ ]  bytes )
072           throws IOException, UnsupportedOperationException
073         //////////////////////////////////////////////////////////////////////
074         {
075           check ( );
076    
077           JNLP_SERVICES.saveBytesUsingPersistenceService (
078             fileContentsSpec, bytes );
079         }
080    
081         public static void  saveSerializableUsingPersistenceService (
082           String        fileContentsSpec,
083           Serializable  serializable )
084           throws IOException, UnsupportedOperationException
085         //////////////////////////////////////////////////////////////////////
086         {
087           check ( );
088    
089           JNLP_SERVICES.saveSerializableUsingPersistenceService (
090             fileContentsSpec, serializable );
091         }
092    
093         public static boolean  showDocument ( URL  url )
094           throws UnsupportedOperationException
095         //////////////////////////////////////////////////////////////////////
096         {
097           check ( );
098    
099           return JNLP_SERVICES.showDocument ( url );
100         }
101    
102         //////////////////////////////////////////////////////////////////////
103         //////////////////////////////////////////////////////////////////////
104    
105         private static void  check ( )
106           throws UnsupportedOperationException
107         //////////////////////////////////////////////////////////////////////
108         {
109           if ( JNLP_SERVICES == null )
110           {
111             throw new UnsupportedOperationException ( );
112           }
113         }
114    
115         private static JnlpServices  createJnlpServices ( )
116         //////////////////////////////////////////////////////////////////////
117         {
118           try
119           {
120             return ( JnlpServices )
121               Class.forName ( JnlpServices.IMPL_CLASS_NAME ).newInstance ( );
122           }
123           catch ( Exception  ex )
124           {
125             return null;
126           }
127           catch ( NoClassDefFoundError  er )
128           {
129             return null;
130           }
131         }
132    
133         private  JnlpLib ( ) { }
134    
135         //////////////////////////////////////////////////////////////////////
136         //////////////////////////////////////////////////////////////////////
137         }