blob: 0d70f7aa24278938322941385c768f32f4a84a36 [file] [log] [blame]
/**
*/
package org.eclipse.oomph.resources.impl;
import org.eclipse.oomph.internal.resources.ExternalProject.Description;
import org.eclipse.oomph.resources.EclipseProjectFactory;
import org.eclipse.oomph.resources.ResourcesPackage;
import org.eclipse.oomph.util.XMLUtil;
import org.eclipse.emf.ecore.EClass;
import org.w3c.dom.Element;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Eclipse Project Factory</b></em>'.
* <!-- end-user-doc -->
* <p>
* </p>
*
* @generated
*/
public class EclipseProjectFactoryImpl extends XMLProjectFactoryImpl implements EclipseProjectFactory
{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EclipseProjectFactoryImpl()
{
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass()
{
return ResourcesPackage.Literals.ECLIPSE_PROJECT_FACTORY;
}
@Override
protected String getXMLFileName()
{
return ".project";
}
@Override
protected void fillDescription(final Description description, Element rootElement) throws Exception
{
XMLUtil.handleChildElements(rootElement, new XMLUtil.ElementHandler()
{
public void handleElement(Element element) throws Exception
{
if ("name".equals(element.getTagName()))
{
String name = element.getTextContent().trim();
description.internalSetName(name);
}
else if ("comment".equals(element.getTagName()))
{
String comment = element.getTextContent().trim();
description.internalSetComment(comment);
}
else if ("buildSpec".equals(element.getTagName()))
{
XMLUtil.handleChildElements(element, new XMLUtil.ElementHandler()
{
public void handleElement(Element buildCommandElement) throws Exception
{
XMLUtil.handleChildElements(buildCommandElement, new XMLUtil.ElementHandler()
{
public void handleElement(Element nameElement) throws Exception
{
String builderName = nameElement.getTextContent().trim();
description.internalAddCommand(builderName);
}
});
}
});
}
else if ("natures".equals(element.getTagName()))
{
XMLUtil.handleChildElements(element, new XMLUtil.ElementHandler()
{
public void handleElement(Element natureElement) throws Exception
{
String natureID = natureElement.getTextContent().trim();
description.internalAddNatureID(natureID);
}
});
}
}
});
}
} // EclipseProjectFactoryImpl