blob: 927f98afcab8461a66dfaf7b604907b1ac52b727 [file] [log] [blame]
/***********************************************************************
* Copyright (c) 2008 by SAP AG, Walldorf.
* 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:
* SAP AG - initial API and implementation
***********************************************************************/
package org.eclipse.jst.jee.model.internal;
import java.util.HashMap;
import org.eclipse.core.resources.IProject;
import org.eclipse.jst.j2ee.model.IModelProvider;
import org.eclipse.jst.j2ee.model.IModelProviderFactory;
import org.eclipse.wst.common.componentcore.resources.IVirtualComponent;
/**
* @author Kiril Mitov k.mitov@sap.com
*
*/
public class Web25MergedModelProviderFactory implements IModelProviderFactory {
private HashMap<IProject, IModelProvider> xmlResources = new HashMap<IProject, IModelProvider>();
public IModelProvider create(IProject project) {
IModelProvider result = getResource(project);
if(result == null || ((Web25MergedModelProvider)result).isDisposed()){
result = new Web25MergedModelProvider(project);
addResource(project, result);
}
return result;
}
public IModelProvider create(IVirtualComponent component) {
return create(component.getProject());
}
private void addResource(IProject project, IModelProvider modelProvider){
xmlResources.put(project, modelProvider);
}
private IModelProvider getResource(IProject project){
return xmlResources.get(project);
}
}