package com.github.bjuvensjo.rsimulator.core; import com.google.inject.ImplementedBy; import java.nio.file.Path; import java.util.Optional; import java.util.Properties; /** * SimulatorResponse is returned by {@link Simulator}. * * @author Magnus Bjuvensjö */ @ImplementedBy(SimulatorResponseImpl.class) public interface SimulatorResponse { /** * Returns the properties of a specific test data request and response pair. If the name of the test data request * file for instance is Test1Request.xml, the properties file must be named Test1.properties. For supported * properties, see *PropertiesInterceptor classes. * * @return the properties of a specific test data request and response pair */ Optional<Properties> getProperties(); /** * Sets the specified properties. * * @param properties the properties to set */ void setProperties(Optional<Properties> properties); /** * Returns the test data response. * * @return the test data response */ String getResponse(); /** * Sets the specified response. * * @param response the response to set */ void setResponse(String response); /** * Returns the matching request path. * * @return the matching request path */ Path getMatchingRequest(); /** * Sets the specified path. * * @param path the path to set */ void setMatchingRequest(Path path); }