01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * When distributing Covered Code, include this CDDL Header Notice in each file
10: * and include the License file at http://www.netbeans.org/cddl.txt.
11: * If applicable, add the following below the CDDL Header, with the fields
12: * enclosed by brackets [] replaced by your own identifying information:
13: * "Portions Copyrighted [year] [name of copyright owner]"
14: *
15: * The Original Software is NetBeans. The Initial Developer of the Original
16: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.sql.project.wsdl;
20:
21: import org.openide.util.Lookup;
22: import org.openide.util.lookup.AbstractLookup;
23: import org.openide.util.lookup.Lookups;
24:
25: public class SQLProLookup extends Lookup {
26: static Lookup mylookup = null;
27: static SQLProLookup m_instance = null;
28:
29: public SQLProLookup() {
30:
31: }
32:
33: private static Lookup getInstance() {
34: if (m_instance == null) {
35: m_instance = new SQLProLookup();
36: }
37: if (mylookup == null) {
38: mylookup = Lookups.metaInfServices(m_instance.getClass()
39: .getClassLoader());
40: }
41: return mylookup;
42: }
43:
44: public Object lookup(Class clazz) {
45: return getInstance().lookup(clazz);
46: }
47:
48: public Lookup.Result lookup(Lookup.Template template) {
49: return getInstance().lookup(template);
50: }
51:
52: public Lookup.Item lookupItem(Lookup.Template template) {
53: return getInstance().lookupItem(template);
54: }
55:
56: void setLookups(Object[] instances) {
57: ClassLoader l = SQLProLookup.class.getClassLoader();
58: setLookups(new Lookup[] { Lookups.metaInfServices(l),
59: Lookups.singleton(l), Lookups.fixed(instances), });
60: }
61: }
|