NCDFE: TagPanel.createNamespaceUriModel
[fedora-idea.git] / plugins / IntelliLang / src / org / intellij / plugins / intelliLang / inject / config / JspSupportProxy.java
blob6c503dad460aa54805e32457fe3aa21993702ab1
1 /*
2 * Copyright 2000-2009 JetBrains s.r.o.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.intellij.plugins.intelliLang.inject.config;
19 import com.intellij.openapi.components.ServiceManager;
20 import com.intellij.openapi.module.Module;
21 import com.intellij.psi.impl.source.jsp.JspManager;
22 import org.jetbrains.annotations.NotNull;
23 import org.jetbrains.annotations.Nullable;
25 /**
26 * Proxy class that allows to avoid a hard compile time dependency on the XPathView plugin.
28 public abstract class JspSupportProxy {
30 @NotNull
31 public abstract String[] getPossibleTldUris(final Module module);
33 private static JspSupportProxy ourInstance;
34 private static boolean isInitialized;
36 @Nullable
37 public static synchronized JspSupportProxy getInstance() {
38 if (isInitialized) {
39 return ourInstance;
41 try {
42 return ourInstance = ServiceManager.getService(JspSupportProxy.class);
43 } finally {
44 isInitialized = true;
48 public static class Impl extends JspSupportProxy {
49 @NotNull
50 @Override
51 public String[] getPossibleTldUris(Module module) {
52 return JspManager.getInstance(module.getProject()).getPossibleTldUris(module);