| /******************************************************************************* |
| * Copyright (c) 2001, 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 |
| *******************************************************************************/ |
| package org.eclipse.jem.internal.beaninfo.core; |
| /* |
| |
| |
| */ |
| |
| |
| import org.eclipse.core.resources.IProject; |
| import org.eclipse.emf.ecore.resource.ResourceSet; |
| |
| import org.eclipse.jem.internal.proxy.core.ProxyFactoryRegistry; |
| import org.eclipse.jem.util.emf.workbench.ProjectResourceSet; |
| /** |
| * Interface to supply information for beaninfo to decouple |
| * the introspection from the desktop. |
| */ |
| |
| public interface IBeaninfoSupplier { |
| |
| /** |
| * @return Return the registry to use. Initialize it if not already initialized. |
| */ |
| public ProxyFactoryRegistry getRegistry(); |
| |
| /** |
| * Used to know if we currently have a registry created in the supplier. |
| * |
| * @return true if there is a registry currently in the supplier. |
| */ |
| public boolean isRegistryCreated(); |
| |
| /** |
| * Close the registry. This tells the registry to close. This is necessary |
| * at times because of changes to classes require the registry to be |
| * reconstructed. |
| */ |
| public void closeRegistry(); |
| |
| /** |
| * Return the project that this supplier is for. |
| * @return |
| * |
| * @since 1.0.0 |
| */ |
| public IProject getProject(); |
| |
| /** |
| * Create a new resource set based upon the current project. This resource set is hooked into the |
| * project's resource set so that any searches for java classes. |
| * |
| * @return a new resource set that is hooked into the project's java resource set. |
| * |
| * @since 1.2.0 |
| */ |
| public ProjectResourceSet getNewResourceSet(); |
| |
| /** |
| * The project resource set for this supplier. |
| * @return |
| * |
| * @since 1.2.0 |
| */ |
| public ResourceSet getProjectResourceSet(); |
| |
| } |