org.ops4j.pax.exam.TestDirectory Maven / Gradle / Ivy
package org.ops4j.pax.exam;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
/**
* A singleton directory which keeps track of all tests in a suite. A test is a single method of a
* given test class in a given configuration. In particular, individual test methods may occur
* multiple times in different configurations.
*
* A test address is a unique identifier for a test. A probe lists the addresses of all tests it
* contains.
*
* This directory maps test addresses to test instantiation instructions which enable a probe
* invoker to actually build a test method invocation from the test address.
*
* In addition, this directory contains an access point URI which may be used for accessing a remote
* container. At the moment, this is only used by the Servlet Bridge in Java EE mode: In this case,
* the access point corresponds to the context root of the probe web application.
*
* @author Harald Wellmann
* @since 3.0.0
*/
public class TestDirectory {
private static final TestDirectory INSTANCE = new TestDirectory();
private Map map = new HashMap();
private URI accessPoint;
private TestDirectory() {
}
public static TestDirectory getInstance() {
return INSTANCE;
}
public void add(TestAddress address, TestInstantiationInstruction instruction) {
map.put(address, instruction);
}
public TestInstantiationInstruction lookup(TestAddress address) {
return map.get(address);
}
public void clear() {
map.clear();
}
public URI getAccessPoint() {
return accessPoint;
}
public void setAccessPoint(URI accessPoint) {
this.accessPoint = accessPoint;
}
}