package fitnesse.junit; import java.lang.annotation.Annotation; import fitnesse.testrunner.WikiTestPage; import fitnesse.testsystems.TestPage; import fitnesse.wiki.WikiPage; /** * Annotation used to pass FitNesse page information to test listeners. */ public class FitNessePageAnnotation implements Annotation { private final TestPage testPage; private final WikiPage wikiPage; /** * Creates new. * * @param wikiPage page describing test. */ public FitNessePageAnnotation(WikiPage wikiPage) { this.testPage = null; this.wikiPage = wikiPage; } /** * Creates new. * * @param testPage page describing test. */ public FitNessePageAnnotation(TestPage testPage) { this.testPage = testPage; if (testPage instanceof WikiTestPage) { wikiPage = ((WikiTestPage) testPage).getSourcePage(); } else { this.wikiPage = null; } } /** * @return wiki page for current test. */ public WikiPage getWikiPage() { return wikiPage; } /** * @return current test page. */ public TestPage getTestPage() { return testPage; } @Override public Class<? extends FitNessePageAnnotation> annotationType() { return FitNessePageAnnotation.class; } }