| package org.eclipse.jst.jsf.common.internal.resource; |
| |
| import java.util.List; |
| |
| import org.eclipse.core.resources.IResource; |
| import org.eclipse.core.resources.IWorkspace; |
| |
| /** |
| * A resource singleton object manager that manages singletons that are aware |
| * of the the resources they are singletons for. |
| * |
| * @author cbateman |
| * @param <RESTYPE> |
| * |
| */ |
| public abstract class ResourceManager<RESTYPE extends IResource> extends |
| ResourceSingletonObjectManager<ResourceTracker<RESTYPE>, IResource> |
| { |
| /** |
| * @param workspace |
| */ |
| public ResourceManager(IWorkspace workspace) |
| { |
| super(workspace); |
| } |
| |
| public void dispose() |
| { |
| super.dispose(); |
| } |
| |
| /** |
| * @param listener |
| */ |
| public void addListener(final IResourceLifecycleListener listener) |
| { |
| super.addLifecycleEventListener(listener); |
| } |
| |
| /** |
| * @param listener |
| */ |
| public void removeListener(final IResourceLifecycleListener listener) |
| { |
| super.removeLifecycleEventListener(listener); |
| } |
| |
| /* (non-Javadoc) |
| * @see org.eclipse.jst.jsf.common.internal.resource.ResourceSingletonObjectManager#createNewInstance(org.eclipse.core.resources.IResource) |
| */ |
| protected abstract ResourceTracker<RESTYPE> createNewInstance(final IResource resource); |
| |
| /** |
| * Initialize any state about the current resources we are managing. |
| */ |
| public abstract void initResources(); |
| |
| /** |
| * @return the current list of resources being managed. |
| */ |
| public abstract List<RESTYPE> getResources(); |
| |
| } |