/** * <copyright> * </copyright> * * $Id$ */ package org.eclipse.buckminster.cspec.impl; import org.eclipse.buckminster.cspec.CSpec; import org.eclipse.buckminster.cspec.CspecPackage; import org.eclipse.buckminster.cspec.PathGroup; import org.eclipse.buckminster.cspec.SelfArtifact; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Path; import org.eclipse.emf.ecore.EClass; /** * <!-- begin-user-doc --> An implementation of the model object ' * <em><b>Self Artifact</b></em>'. <!-- end-user-doc --> * <p> * </p> * * @generated */ public class SelfArtifactImpl extends ArtifactImpl implements SelfArtifact { /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ protected SelfArtifactImpl() { super(); } @Override public String getName() { return CSpec.SELF_ARTIFACT; } @Override public PathGroup resolve(IPath path) { PathGroup resolved = new PathGroupImpl(); if (path.hasTrailingSeparator()) // // A folder will act as the base for the component // resolved.setBase(path); else { // The parent folder will be the base since the component itself // is a file. // resolved.setBase(path.removeLastSegments(1).addTrailingSeparator()); resolved.getPaths().add(Path.fromPortableString(path.lastSegment())); } return resolved; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override protected EClass eStaticClass() { return CspecPackage.Literals.SELF_ARTIFACT; } } // SelfArtifactImpl