package rocks.inspectit.shared.cs.ci.sensor.method.impl;
import java.util.Map;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import rocks.inspectit.shared.all.instrumentation.config.PriorityEnum;
import rocks.inspectit.shared.cs.ci.sensor.StringConstraintSensorConfig;
import rocks.inspectit.shared.cs.ci.sensor.method.IMethodSensorConfig;
/**
* HTTP sensor configuration.
*
* @author Ivan Senic
*
*/
@XmlRootElement(name = "http-sensor-config")
public class HttpSensorConfig extends StringConstraintSensorConfig implements IMethodSensorConfig {
/**
* Sensor name.
*/
public static final String SENSOR_NAME = "HTTP Sensor";
/**
* Implementing class name.
*/
public static final String CLASS_NAME = "rocks.inspectit.agent.java.sensor.method.http.HttpSensor";
/**
* Session capture option.
*/
@XmlAttribute(name = "sessionCapture")
private Boolean sessionCapture = Boolean.FALSE;
/**
* No-args constructor.
*/
public HttpSensorConfig() {
super(500);
}
/**
* {@inheritDoc}
*/
@Override
public String getName() {
return SENSOR_NAME;
}
/**
* {@inheritDoc}
*/
@Override
public String getClassName() {
return CLASS_NAME;
}
/**
* {@inheritDoc}
*/
@Override
public PriorityEnum getPriority() {
return PriorityEnum.MAX;
}
/**
* {@inheritDoc}
*/
@Override
public boolean isAdvanced() {
return false;
}
/**
* {@inheritDoc}
*/
@Override
public Map<String, Object> getParameters() {
Map<String, Object> parameters = super.getParameters();
if (sessionCapture) {
parameters.put("sessioncapture", "true");
}
return parameters;
}
/**
* Gets {@link #sessionCapture}.
*
* @return {@link #sessionCapture}
*/
public boolean isSessionCapture() {
return sessionCapture.booleanValue();
}
/**
* Sets {@link #sessionCapture}.
*
* @param sessionCapture
* New value for {@link #sessionCapture}
*/
public void setSessionCapture(boolean sessionCapture) {
this.sessionCapture = Boolean.valueOf(sessionCapture);
}
}