diff options
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/MetaDataLocatorFactory.java')
-rw-r--r-- | jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/MetaDataLocatorFactory.java | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/MetaDataLocatorFactory.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/MetaDataLocatorFactory.java deleted file mode 100644 index ed92cf1c7..000000000 --- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/internal/MetaDataLocatorFactory.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2007 Oracle Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Oracle Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.jst.jsf.common.metadata.internal; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.jst.jsf.common.JSFCommonPlugin; - -/** - * Creates instances of IMetaDataLocators and caches them so that there is only one instance of a particular locator - * when client requests one. - */ -public class MetaDataLocatorFactory { - private static MetaDataLocatorFactory INSTANCE = null; - - /** - * @return singleton instance of the MetaDataLocatorFactory - */ - public synchronized static MetaDataLocatorFactory getInstance(){ - if (INSTANCE == null){ - INSTANCE = new MetaDataLocatorFactory(); - } - return INSTANCE; - } - - private HashMap _locators; - - private Map getLocators() { - if (_locators == null){ - _locators = new HashMap(); - } - return _locators; - } - - /** - * @param locatorClassName - * @param bundleId - * @return IMetaDataLocator - */ - public IMetaDataLocator getLocator(String locatorClassName, String bundleId){ - String key = getKey(locatorClassName, bundleId); - IMetaDataLocator locator = (IMetaDataLocator)getLocators().get(key); - if (locator == null){ - Class klass = JSFCommonPlugin.loadClass(locatorClassName, bundleId); - try { - locator = (IMetaDataLocator)klass.newInstance(); - if (locator != null) { - getLocators().put(key, locator); - locator.startLocating(); - } - } catch (InstantiationException e) { - JSFCommonPlugin.log(IStatus.ERROR, "Could not instantiate IMetaDataLocator: "+key, e); - } catch (IllegalAccessException e) { - JSFCommonPlugin.log(IStatus.ERROR, "IllegalAccessException while creating IMetaDataLocator: "+key, e); - } - } - return locator; - } - - private String getKey(String locatorClassName, String bundleId) { - StringBuffer buf = new StringBuffer(bundleId); - buf.append(":"); - buf.append(locatorClassName); - return buf.toString(); - } - - /** - * Stops and disposes all locators - */ - public void dispose(){ - for (Iterator it=getLocators().values().iterator();it.hasNext();){ - IMetaDataLocator locator = (IMetaDataLocator)it.next(); - locator.stopLocating(); - } - getLocators().clear(); - } -} |