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