/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.internal.ui;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.mapping.ResourceMapping;
import org.eclipse.core.resources.mapping.ResourceMappingContext;
import org.eclipse.core.resources.mapping.ResourceTraversal;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import com.hundsun.ares.studio.core.IARESResource;
import com.hundsun.ares.studio.core.util.ARESElementUtil;
import com.hundsun.ares.studio.ui.ARESResourceCategory;
/**
*
* @author sundl
*/
public class ARESResourceCategoryResourceMapping extends ResourceMapping {
private ARESResourceCategory category;
public ARESResourceCategoryResourceMapping(ARESResourceCategory category) {
this.category = category;
}
/* (non-Javadoc)
* @see org.eclipse.core.resources.mapping.ResourceMapping#getModelObject()
*/
@Override
public Object getModelObject() {
return category;
}
/* (non-Javadoc)
* @see org.eclipse.core.resources.mapping.ResourceMapping#getModelProviderId()
*/
@Override
public String getModelProviderId() {
return ARESModelProvider.ID;
}
/* (non-Javadoc)
* @see org.eclipse.core.resources.mapping.ResourceMapping#getProjects()
*/
@Override
public IProject[] getProjects() {
return new IProject[] {category.getModule().getARESProject().getProject()};
}
/* (non-Javadoc)
* @see org.eclipse.core.resources.mapping.ResourceMapping#getTraversals(org.eclipse.core.resources.mapping.ResourceMappingContext, org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
public ResourceTraversal[] getTraversals(ResourceMappingContext context, IProgressMonitor monitor) throws CoreException {
IARESResource[] aresResources = category.getResources();
IResource[] resources = ARESElementUtil.toResource(aresResources);
return new ResourceTraversal[] {new ResourceTraversal(resources, IResource.DEPTH_ZERO, IResource.NONE)};
}
}