blob: 2ecedd469d928c88287a1c7934285be5c1e92699 [file] [log] [blame]
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();
}