package sharpen.xobotos.api.actions;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import sharpen.core.csharp.ast.CSTypeDeclaration;
import sharpen.xobotos.generator.ITypeBuilder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@XStreamAlias(value = "action-list")
public class ActionList extends AbstractAction {
@XStreamImplicit(itemFieldName = "action")
private List<AbstractAction> _actions;
public List<AbstractAction> getActions() {
return Collections.unmodifiableList(_actions);
}
private Object readResolve() {
if (_actions == null)
_actions = new ArrayList<AbstractAction>();
return this;
}
@Override
public void apply(ITypeBuilder builder, CSTypeDeclaration type) {
for (final AbstractAction action : _actions)
action.apply(builder, type);
}
}