com.xceptance.xlt.engine.scripting.docgen.ScriptInfo Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xlt Show documentation
Show all versions of xlt Show documentation
XLT (Xceptance LoadTest) is an extensive load and performance test tool developed and maintained by Xceptance.
/*
* Copyright (c) 2005-2022 Xceptance Software Technologies GmbH
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.xceptance.xlt.engine.scripting.docgen;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
/**
* Information common to all scripts (tests and modules).
*
* @author Hartmut Arlt (Xceptance Software Technologies GmbH)
*/
public abstract class ScriptInfo extends BaseInfo
{
// @XStreamConverter(value=MapConverter.class)
@XStreamAlias("external-parameters")
private final Map externalParameters = new HashMap();
private final List steps = new ArrayList();
@XStreamOmitField
private final HashSet stores = new HashSet();
private final HashSet calls = new HashSet();
@XStreamAlias("test-data")
private Map testData;
ScriptInfo(final String name)
{
super(name);
}
ScriptInfo(final String name, final String id)
{
super(name, id);
}
void addStep(final Step step)
{
steps.add(step);
}
void addCall(final String call)
{
calls.add(call);
}
void addExternalParam(final String name, final String value)
{
externalParameters.put(name, value);
}
void setTestData(final Map testData)
{
this.testData = new HashMap();
if (testData != null)
{
this.testData.putAll(testData);
}
}
/**
* @return the testData
*/
public Map getTestData()
{
return testData;
}
/**
* @param value
*/
void addStore(String value)
{
stores.add(value);
}
boolean hasStore(final String value)
{
return stores.contains(value);
}
public Set getCalls()
{
return Collections.unmodifiableSet(calls);
}
/**
* @return the steps
*/
public List getSteps()
{
return Collections.unmodifiableList(steps);
}
void removeFromExternals(final Set keys)
{
for (final String key : keys)
{
externalParameters.remove(key);
}
}
/**
* @return the stores
*/
public Set getStores()
{
return Collections.unmodifiableSet(stores);
}
/**
* @return the externalParameters
*/
public Map getExternalParameters()
{
return Collections.unmodifiableMap(externalParameters);
}
}