/*****************************************************************************
* 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.cspec.builder;
import org.eclipse.buckminster.core.cspec.IActionArtifact;
import org.eclipse.buckminster.core.cspec.IAttribute;
import org.eclipse.buckminster.core.cspec.model.ActionArtifact;
import org.eclipse.buckminster.core.cspec.model.Artifact;
/**
* @author Thomas Hallgren
*/
public class ActionArtifactBuilder extends ArtifactBuilder implements IActionArtifact {
private String actionName;
private String alias;
ActionArtifactBuilder(CSpecBuilder cspecBuilder) {
super(cspecBuilder);
}
@Override
public void clear() {
super.clear();
actionName = null;
alias = null;
}
@Override
public Artifact createAttribute() {
return new ActionArtifact(this);
}
@Override
public String getActionName() {
return actionName;
}
@Override
public String getAlias() {
return alias;
}
@Override
public AttributeBuilder getAttributeBuilder(CSpecBuilder specBuilder) {
return specBuilder == getCSpecBuilder() ? this : new ActionArtifactBuilder(specBuilder);
}
@Override
public void initFrom(IAttribute attribute) {
IActionArtifact actionArtifact = (IActionArtifact) attribute;
super.initFrom(actionArtifact);
actionName = actionArtifact.getActionName();
alias = actionArtifact.getAlias();
}
public void setActionName(String actionName) {
this.actionName = actionName;
}
public void setAlias(String alias) {
this.alias = alias;
}
}