1*2be43276SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*2be43276SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*2be43276SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*2be43276SAndrew Rist  * distributed with this work for additional information
6*2be43276SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*2be43276SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*2be43276SAndrew Rist  * "License"); you may not use this file except in compliance
9*2be43276SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*2be43276SAndrew Rist  *
11*2be43276SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*2be43276SAndrew Rist  *
13*2be43276SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*2be43276SAndrew Rist  * software distributed under the License is distributed on an
15*2be43276SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*2be43276SAndrew Rist  * KIND, either express or implied.  See the License for the
17*2be43276SAndrew Rist  * specific language governing permissions and limitations
18*2be43276SAndrew Rist  * under the License.
19*2be43276SAndrew Rist  *
20*2be43276SAndrew Rist  *************************************************************/
21*2be43276SAndrew Rist 
22*2be43276SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir package com.sun.star.comp.loader;
25cdf0e10cSrcweir 
26cdf0e10cSrcweir import com.sun.star.lang.XSingleServiceFactory;
27cdf0e10cSrcweir import com.sun.star.lang.XMultiServiceFactory;
28cdf0e10cSrcweir import com.sun.star.lang.XServiceInfo;
29cdf0e10cSrcweir 
30cdf0e10cSrcweir 
31cdf0e10cSrcweir public class JavaLoaderFactory implements XSingleServiceFactory, XServiceInfo {
32cdf0e10cSrcweir 
33cdf0e10cSrcweir     private static String[] supportedServices = {
34cdf0e10cSrcweir         "com.sun.star.loader.Java",
35cdf0e10cSrcweir         "com.sun.star.loader.Java2"
36cdf0e10cSrcweir     };
37cdf0e10cSrcweir 
38cdf0e10cSrcweir 	private static final boolean DEBUG = false;
39cdf0e10cSrcweir 
DEBUG(String dbg)40cdf0e10cSrcweir 	private static final void DEBUG(String dbg) {
41cdf0e10cSrcweir 	    if (DEBUG)
42cdf0e10cSrcweir 	        System.err.println(" >>> JavaLoaderFactory - " + dbg);
43cdf0e10cSrcweir 	}
44cdf0e10cSrcweir 
45cdf0e10cSrcweir 	protected XMultiServiceFactory multiServiceFactory = null;
46cdf0e10cSrcweir 
47cdf0e10cSrcweir 	/** default constructor
48cdf0e10cSrcweir 	 */
49cdf0e10cSrcweir //  	public JavaLoaderFactory() {}
50cdf0e10cSrcweir 
JavaLoaderFactory(XMultiServiceFactory factory)51cdf0e10cSrcweir 	public JavaLoaderFactory(XMultiServiceFactory factory) {
52cdf0e10cSrcweir 	    multiServiceFactory = factory;
53cdf0e10cSrcweir 	}
54cdf0e10cSrcweir 
createInstance()55cdf0e10cSrcweir     public java.lang.Object createInstance()
56cdf0e10cSrcweir             throws com.sun.star.uno.Exception,
57cdf0e10cSrcweir                    com.sun.star.uno.RuntimeException
58cdf0e10cSrcweir     {
59cdf0e10cSrcweir         return new JavaLoader(multiServiceFactory);
60cdf0e10cSrcweir     }
61cdf0e10cSrcweir 
createInstanceWithArguments( java.lang.Object[] args )62cdf0e10cSrcweir     public java.lang.Object createInstanceWithArguments( java.lang.Object[] args )
63cdf0e10cSrcweir             throws com.sun.star.uno.Exception,
64cdf0e10cSrcweir                    com.sun.star.uno.RuntimeException
65cdf0e10cSrcweir     {
66cdf0e10cSrcweir         JavaLoader loader = new JavaLoader();
67cdf0e10cSrcweir         loader.initialize(args);
68cdf0e10cSrcweir 
69cdf0e10cSrcweir         return loader;
70cdf0e10cSrcweir     }
71cdf0e10cSrcweir 
72cdf0e10cSrcweir     /** implements the XServiceInfo interface
73cdf0e10cSrcweir 	 */
getImplementationName()74cdf0e10cSrcweir 	public String getImplementationName()
75cdf0e10cSrcweir 	        throws com.sun.star.uno.RuntimeException
76cdf0e10cSrcweir     {
77cdf0e10cSrcweir 		return JavaLoader.class.getName();
78cdf0e10cSrcweir 	}
79cdf0e10cSrcweir 
80cdf0e10cSrcweir     /** implements the XServiceInfo interface
81cdf0e10cSrcweir 	 */
supportsService(String serviceName)82cdf0e10cSrcweir 	public boolean supportsService(String serviceName)
83cdf0e10cSrcweir 	        throws com.sun.star.uno.RuntimeException
84cdf0e10cSrcweir 	{
85cdf0e10cSrcweir 		for ( int i = 0; i < supportedServices.length; i++ ) {
86cdf0e10cSrcweir 			if ( supportedServices[i].equals(serviceName) )
87cdf0e10cSrcweir 				return true;
88cdf0e10cSrcweir 		}
89cdf0e10cSrcweir 		return false;
90cdf0e10cSrcweir 	}
91cdf0e10cSrcweir 
92cdf0e10cSrcweir     /** implements the XServiceInfo interface
93cdf0e10cSrcweir 	 */
getSupportedServiceNames()94cdf0e10cSrcweir 	public String[] getSupportedServiceNames()
95cdf0e10cSrcweir 	        throws com.sun.star.uno.RuntimeException
96cdf0e10cSrcweir 	{
97cdf0e10cSrcweir 		return supportedServices;
98cdf0e10cSrcweir 	}
99cdf0e10cSrcweir }
100cdf0e10cSrcweir 
101