package org.bench4q.share.models.agent;

import java.util.LinkedList;
import java.util.List;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;

import org.bench4q.share.models.agent.scriptrecord.PageModel;
import org.bench4q.share.models.agent.scriptrecord.ScheduleModel;
import org.bench4q.share.models.agent.scriptrecord.UsePluginModel;

@XmlRootElement(name = "runScenario")
public class RunScenarioModel {
	private int poolSize;
	private List<UsePluginModel> usePlugins;
	private List<PageModel> pages;
	private ScheduleModel scheduleModel;
	@XmlElement
	public int getPoolSize() {
		return poolSize;
	}

	public void setPoolSize(int poolSize) {
		this.poolSize = poolSize;
	}

	@XmlElementWrapper(name = "usePlugins")
	@XmlElement(name = "usePlugin")
	public List<UsePluginModel> getUsePlugins() {
		return usePlugins;
	}

	public void setUsePlugins(List<UsePluginModel> usePlugins) {
		this.usePlugins = usePlugins;
	}

	@XmlElementWrapper(name = "pages")
	@XmlElement(name = "page")
	public List<PageModel> getPages() {
		return pages;
	}

	public void setPages(List<PageModel> pages) {
		this.pages = pages;
	}

	@XmlElement
	public ScheduleModel getScheduleModel() {
		return scheduleModel;
	}

	public void setScheduleModel(ScheduleModel scheduleModel) {
		this.scheduleModel = scheduleModel;
	}

	public RunScenarioModel() {
		this.setUsePlugins(new LinkedList<UsePluginModel>());
		this.setPages(new LinkedList<PageModel>());
	}
}
