/******************************************************************************* * Copyright (c) 2003, 2005 IBM 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: * IBM Corporation - initial API and implementation *******************************************************************************/ /* * Created on Oct 29, 2003 * * To change the template for this generated file go to * Window>Preferences>Java>Code Generation>Code and Comments */ package org.eclipse.jst.j2ee.internal.moduleextension; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.jem.util.RegistryReader; import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin; /** * To change the template for this generated type comment go to * Window>Preferences>Java>Code Generation>Code and Comments */ public class EarModuleExtensionRegistry extends RegistryReader { static final String EXTENSION_NAME = "EARModuleExtension"; //$NON-NLS-1$ static final String ELEMENT_EARMODULE_EXTENSION = "earModuleExtension"; //$NON-NLS-1$ static final String MODULE_EXTENSION_CLASS = "extensionClass"; //$NON-NLS-1$ private static EarModuleExtensionRegistry INSTANCE = null; public EarModuleExtensionRegistry() { super(J2EEPlugin.PLUGIN_ID, EXTENSION_NAME); } public static EarModuleExtensionRegistry getInstance() { if (INSTANCE == null) { INSTANCE = new EarModuleExtensionRegistry(); INSTANCE.readRegistry(); } return INSTANCE; } /** * readElement() - parse and deal w/ an extension like: <earModuleExtension extensionClass = * "com.ibm.etools.web.plugin.WebModuleExtensionImpl"/> */ @Override public boolean readElement(IConfigurationElement element) { if (!element.getName().equals(ELEMENT_EARMODULE_EXTENSION)) return false; EarModuleExtension extension = null; try { extension = (EarModuleExtension) element.createExecutableExtension(MODULE_EXTENSION_CLASS); } catch (CoreException e) { J2EEPlugin.logError(e); } if (extension != null) addModuleExtension(extension); return true; } private static void addModuleExtension(EarModuleExtension ext) { EarModuleManager.registerModuleExtension(ext); } }