package rocks.inspectit.server.instrumentation.config.applier;
import rocks.inspectit.server.instrumentation.config.filter.AssignmentFilterProvider;
import rocks.inspectit.server.instrumentation.config.filter.ClassSensorAssignmentFilter;
import rocks.inspectit.server.instrumentation.config.filter.JmxSensorAssignmentFilter;
import rocks.inspectit.server.instrumentation.config.filter.MethodSensorAssignmentFilter;
import rocks.inspectit.shared.cs.ci.Environment;
/**
* Base class for all appliers.
*
* @author Ivan Senic
*/
public class GenericApplier {
/**
* Assignment filter provider for providing class, method and jmx matching filters.
*/
protected AssignmentFilterProvider assignmentFilterProvider = new AssignmentFilterProvider();
/**
* Environment belonging to the assignment.
*/
protected Environment environment;
/**
* Default constructor.
*
* @param environment
* Environment belonging to the assignment.
*/
protected GenericApplier(Environment environment) {
if (null == environment) {
throw new IllegalArgumentException("Environment can not be null in instrumentation applier.");
}
this.environment = environment;
}
/**
* Gets {@link AssignmentFilterProvider#getClassSensorAssignmentFilter()}.
*
* @return {@link AssignmentFilterProvider#getClassSensorAssignmentFilter()}
*/
protected ClassSensorAssignmentFilter getClassSensorAssignmentFilter() {
return assignmentFilterProvider.getClassSensorAssignmentFilter();
}
/**
* Gets {@link AssignmentFilterProvider#getMethodsSensorAssignmentFilter()}.
*
* @return {@link AssignmentFilterProvider#getMethodSensorAssignmentFilter()}
*/
protected MethodSensorAssignmentFilter getMethodSensorAssignmentFilter() {
return assignmentFilterProvider.getMethodSensorAssignmentFilter();
}
/**
* Gets {@link AssignmentFilterProvider#getJmxSensorAssignmentFilter()}.
*
* @return {@link AssignmentFilterProvider#getJmxSensorAssignmentFilter()}
*/
protected JmxSensorAssignmentFilter getJmxSensorAssignmentFilter() {
return assignmentFilterProvider.getJmxSensorAssignmentFilter();
}
}