/*****************************************************************************
* Copyright (c) 2006-2013, Cloudsmith Inc.
* The code, documentation and other materials contained herein have been
* licensed under the Eclipse Public License - v 1.0 by the copyright holder
* listed above, as the Initial Contributor under such license. The text of
* such license is available at www.eclipse.org.
*****************************************************************************/
package org.eclipse.buckminster.core.cspecext.model;
import org.eclipse.buckminster.core.cspec.IComponentIdentifier;
import org.eclipse.buckminster.core.cspec.IComponentRequest;
import org.eclipse.buckminster.core.cspec.builder.ComponentRequestBuilder;
import org.eclipse.buckminster.core.cspec.model.ComponentRequest;
import org.eclipse.buckminster.osgi.filter.Filter;
import org.eclipse.equinox.p2.metadata.VersionRange;
/**
* @author Thomas Hallgren
*/
public class AlterDependency implements IComponentRequest {
private final ComponentRequest base;
public AlterDependency(ComponentRequest base) {
this.base = base;
}
public void alterDependency(ComponentRequestBuilder dep) {
dep.setComponentTypeID(CSpecExtension.overrideCheckNull(base.getComponentTypeID(), dep.getComponentTypeID()));
dep.setVersionRange(CSpecExtension.overrideCheckNull(base.getVersionRange(), dep.getVersionRange()));
dep.setFilter(CSpecExtension.overrideCheckNull(base.getFilter(), dep.getFilter()));
}
@Override
public boolean designates(IComponentIdentifier id) {
return base.designates(id);
}
@Override
public String getComponentTypeID() {
return base.getComponentTypeID();
}
@Override
public Filter getFilter() {
return base.getFilter();
}
@Override
public String getName() {
return base.getName();
}
@Override
public VersionRange getVersionRange() {
return base.getVersionRange();
}
}