
function BehaviorInfoModel(paramInfoModels,behaviorType,name){
	this.paramInfoModels=paramInfoModels;
	this.behaviorType=behaviorType;
	this.name=name;
}

function ParamInfoModel(name,label,paramTypeModel){
	this.name=name;
	this.label=label;
	this.paramTypeModel=paramTypeModel;
}

function ScenarioModel(scriptName,runScenarioModel){
	this.scriptName=scriptName;
	this.runScenarioModel=runScenarioModel;
}

function RunScenarioModel(poolSize,usePlugins,definedParameters,pages){
	this.poolSize=poolSize;
	this.usePlugins=usePlugins;
	this.definedParameters=definedParameters;
	this.pages=pages;
}

function PageModel(id,batches){
	this.id = id;
	this.batches=batches;
}

function BatchModel(id,parentId,childId,behaviors){
	this.id=id;
	this.parentId=parentId;
	this.childId=childId;
	this.behaviors=behaviors;
}

/**
 * @param id
 * @param use
 * @param name
 * @param type
 * @param parameters
 */
function BehaviorModel(id, use, name, type, parameters) {
	this.id = id;
	this.use = use;
	this.name = name;
	this.type = type;
	this.parameters = parameters;
}

function ParameterModel(key, value) {
	this.key = key;
	this.value = value;
}

function UsePluginModel(id, name, nickName, parameters) {
	this.id = id;
	this.name = name;
	this.nickName = nickName;
	this.parameters = parameters;
}

function PluginEditScriptRequestModel(behaviorModels, usePluginModels,
		scriptName) {
	this.behaviorModels = behaviorModels;
	this.usePluginModels = usePluginModels;
	this.scriptName = scriptName;
}

function MethodParamModel(name, lable, valueSeperator, fieldSeperator,
		paramType, methodParamProperties) {
	this.name = name;
	this.lable = lable;
	this.valueSeperator = valueSeperator;
	this.fieldSeperator = fieldSeperator;
	this.paramType = paramType;
	this.methodParamProperties = methodParamProperties;
}

function MethodParamPropertyModel(key, value) {
	this.key = key;
	this.value = value;
}

function pluignChoosedModel(pluginName, index) {
	this.pluginName = pluginName;
	this.index = index;
}


