| package org.eclipse.jst.javaee.ltk.core.refactoringchecker; |
| |
| import java.util.ArrayList; |
| |
| import org.eclipse.core.runtime.CoreException; |
| import org.eclipse.core.runtime.IConfigurationElement; |
| import org.eclipse.core.runtime.IExtensionPoint; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin; |
| import org.eclipse.jst.javaee.ltk.core.nls.RefactoringResourceHandler; |
| |
| |
| public class CheckStateTester { |
| |
| protected static final String EXTENSION_POINT = "RefactoringChecker";//$NON-NLS-1$ |
| public static CheckStateTester INSTANCE = new CheckStateTester(); |
| private ArrayList<IRefactoringCheckStateTester> checkStateTesters = new ArrayList(); |
| private boolean registryIsRead = false; |
| |
| |
| private void readRegistry(){ |
| registryIsRead = true; |
| IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(J2EEPlugin.PLUGIN_ID, EXTENSION_POINT); |
| if (point == null) { |
| J2EEPlugin.logError(RefactoringResourceHandler.CheckStateTester_Could_not_find_Check_State_Tester_E_); |
| return; |
| } |
| IConfigurationElement[] elements = point.getConfigurationElements(); |
| for(IConfigurationElement element: elements){ |
| Object o; |
| try { |
| o = element.createExecutableExtension("class"); //$NON-NLS-1$ |
| if(o instanceof IRefactoringCheckStateTester){ |
| checkStateTesters.add((IRefactoringCheckStateTester)o); |
| } |
| } catch (CoreException e) { |
| org.eclipse.jst.j2ee.internal.plugin.J2EEPlugin.logError(e); |
| } |
| } |
| } |
| |
| public ArrayList<IRefactoringCheckStateTester> getCheckStateTesters(){ |
| if(registryIsRead == false){ |
| readRegistry(); |
| } |
| return checkStateTesters; |
| } |
| } |