19bf49482d840550074c670dd8924be47314f15a2DanFabulichpackage org.testng;
29bf49482d840550074c670dd8924be47314f15a2DanFabulich
39bf49482d840550074c670dd8924be47314f15a2DanFabulich
40e8453d55f6a2308f0b097b3ca0a43afb792f864Cédric Beustimport org.testng.internal.ConstructorOrMethod;
56b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beustimport org.testng.xml.XmlTest;
66b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beust
79bf49482d840550074c670dd8924be47314f15a2DanFabulichimport java.io.Serializable;
89bf49482d840550074c670dd8924be47314f15a2DanFabulichimport java.lang.reflect.Method;
9dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beustimport java.util.List;
1066aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beustimport java.util.Map;
119bf49482d840550074c670dd8924be47314f15a2DanFabulich
129bf49482d840550074c670dd8924be47314f15a2DanFabulich/**
139bf49482d840550074c670dd8924be47314f15a2DanFabulich * Describes a TestNG annotated method and the instance on which it will be invoked.
149bf49482d840550074c670dd8924be47314f15a2DanFabulich *
15830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust * This interface is not meant to be implemented by users.
16830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust *
179bf49482d840550074c670dd8924be47314f15a2DanFabulich * @author Cedric Beust, May 3, 2004
189bf49482d840550074c670dd8924be47314f15a2DanFabulich */
199bf49482d840550074c670dd8924be47314f15a2DanFabulichpublic interface ITestNGMethod extends Comparable, Serializable, Cloneable {
209bf49482d840550074c670dd8924be47314f15a2DanFabulich
219bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
229bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return The real class on which this method was declared
239bf49482d840550074c670dd8924be47314f15a2DanFabulich   * (can be different from getMethod().getDeclaringClass() if
249bf49482d840550074c670dd8924be47314f15a2DanFabulich   * the test method was defined in a superclass).
259bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
269bf49482d840550074c670dd8924be47314f15a2DanFabulich  Class getRealClass();
279bf49482d840550074c670dd8924be47314f15a2DanFabulich
289bf49482d840550074c670dd8924be47314f15a2DanFabulich  ITestClass getTestClass();
299bf49482d840550074c670dd8924be47314f15a2DanFabulich
309bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
319bf49482d840550074c670dd8924be47314f15a2DanFabulich   * Sets the test class having this method. This is not necessarily the declaring class.
329bf49482d840550074c670dd8924be47314f15a2DanFabulich   *
330f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   * @param cls The test class having this method.
349bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
359bf49482d840550074c670dd8924be47314f15a2DanFabulich  void setTestClass(ITestClass cls);
369bf49482d840550074c670dd8924be47314f15a2DanFabulich
379bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
389bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return the corresponding Java test method.
3905bd4148aa6ec66772cbe0b36c6a0abd1a59e012Cédric Beust   * @deprecated This method is deprecated and can now return null. Use
4005bd4148aa6ec66772cbe0b36c6a0abd1a59e012Cédric Beust   * getConstructorOrMethod() instead.
419bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
427c34e4fb500043899ef7c6cc29c62e4c2026d0b5Cédric Beust  @Deprecated
439bf49482d840550074c670dd8924be47314f15a2DanFabulich  Method getMethod();
440f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
459bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
460f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin   * Returns the method name. This is needed for serialization because
479bf49482d840550074c670dd8924be47314f15a2DanFabulich   * methods are not Serializable.
489bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return the method name.
499bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
509bf49482d840550074c670dd8924be47314f15a2DanFabulich  String getMethodName();
519bf49482d840550074c670dd8924be47314f15a2DanFabulich
529bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
539bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return All the instances the methods will be invoked upon.
549bf49482d840550074c670dd8924be47314f15a2DanFabulich   * This will typically be an array of one object in the absence
559bf49482d840550074c670dd8924be47314f15a2DanFabulich   * of an @Factory annotation.
56915157d5ad1076b0f353073df9e5d4920090e99aCédric Beust   *
57915157d5ad1076b0f353073df9e5d4920090e99aCédric Beust   * @deprecated Use getInstance().
589bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
597c34e4fb500043899ef7c6cc29c62e4c2026d0b5Cédric Beust  @Deprecated
609bf49482d840550074c670dd8924be47314f15a2DanFabulich  Object[] getInstances();
619bf49482d840550074c670dd8924be47314f15a2DanFabulich
62915157d5ad1076b0f353073df9e5d4920090e99aCédric Beust  Object getInstance();
63915157d5ad1076b0f353073df9e5d4920090e99aCédric Beust
649bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
659bf49482d840550074c670dd8924be47314f15a2DanFabulich   * Needed for serialization.
669bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
679bf49482d840550074c670dd8924be47314f15a2DanFabulich  long[] getInstanceHashCodes();
689bf49482d840550074c670dd8924be47314f15a2DanFabulich
699bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
709bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return The groups this method belongs to, possibly added to the groups
719bf49482d840550074c670dd8924be47314f15a2DanFabulich   * declared on the class.
729bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
739bf49482d840550074c670dd8924be47314f15a2DanFabulich  String[] getGroups();
749bf49482d840550074c670dd8924be47314f15a2DanFabulich
759bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
769bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return The groups this method depends on, possibly added to the groups
779bf49482d840550074c670dd8924be47314f15a2DanFabulich   * declared on the class.
789bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
799bf49482d840550074c670dd8924be47314f15a2DanFabulich  String[] getGroupsDependedUpon();
809bf49482d840550074c670dd8924be47314f15a2DanFabulich
819bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
829bf49482d840550074c670dd8924be47314f15a2DanFabulich   * If a group was not found.
839bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
849bf49482d840550074c670dd8924be47314f15a2DanFabulich  String getMissingGroup();
859bf49482d840550074c670dd8924be47314f15a2DanFabulich  public void setMissingGroup(String group);
860f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
879bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
889bf49482d840550074c670dd8924be47314f15a2DanFabulich   * Before and After groups
899bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
909bf49482d840550074c670dd8924be47314f15a2DanFabulich  public String[] getBeforeGroups();
919bf49482d840550074c670dd8924be47314f15a2DanFabulich  public String[] getAfterGroups();
929bf49482d840550074c670dd8924be47314f15a2DanFabulich
939bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
949bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return The methods  this method depends on, possibly added to the methods
959bf49482d840550074c670dd8924be47314f15a2DanFabulich   * declared on the class.
969bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
979bf49482d840550074c670dd8924be47314f15a2DanFabulich  String[] getMethodsDependedUpon();
989bf49482d840550074c670dd8924be47314f15a2DanFabulich  void addMethodDependedUpon(String methodName);
999bf49482d840550074c670dd8924be47314f15a2DanFabulich
1009bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1019bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Test
1029bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1039bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isTest();
1049bf49482d840550074c670dd8924be47314f15a2DanFabulich
1059bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1069bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Configuration
1079bf49482d840550074c670dd8924be47314f15a2DanFabulich   * and beforeTestMethod = true
1089bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1099bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isBeforeMethodConfiguration();
1109bf49482d840550074c670dd8924be47314f15a2DanFabulich
1119bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1129bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Configuration
1139bf49482d840550074c670dd8924be47314f15a2DanFabulich   * and beforeTestMethod = false
1149bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1159bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isAfterMethodConfiguration();
1169bf49482d840550074c670dd8924be47314f15a2DanFabulich
1179bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1189bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Configuration
1199bf49482d840550074c670dd8924be47314f15a2DanFabulich   * and beforeClassMethod = true
1209bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1219bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isBeforeClassConfiguration();
1229bf49482d840550074c670dd8924be47314f15a2DanFabulich
1239bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1249bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Configuration
1259bf49482d840550074c670dd8924be47314f15a2DanFabulich   * and beforeClassMethod = false
1269bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1279bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isAfterClassConfiguration();
1289bf49482d840550074c670dd8924be47314f15a2DanFabulich
1299bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1309bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Configuration
1319bf49482d840550074c670dd8924be47314f15a2DanFabulich   * and beforeSuite = true
1329bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1339bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isBeforeSuiteConfiguration();
1349bf49482d840550074c670dd8924be47314f15a2DanFabulich
1359bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1369bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method was annotated with @Configuration
1379bf49482d840550074c670dd8924be47314f15a2DanFabulich   * and afterSuite = true
1389bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1399bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isAfterSuiteConfiguration();
1409bf49482d840550074c670dd8924be47314f15a2DanFabulich
1419bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1429bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return <tt>true</tt> if this method is a @BeforeTest (@Configuration beforeTest=true)
1439bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1449bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isBeforeTestConfiguration();
1459bf49482d840550074c670dd8924be47314f15a2DanFabulich
1469bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1479bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return <tt>true</tt> if this method is an @AfterTest (@Configuration afterTest=true)
1489bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1499bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isAfterTestConfiguration();
1509bf49482d840550074c670dd8924be47314f15a2DanFabulich
1519bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isBeforeGroupsConfiguration();
1529bf49482d840550074c670dd8924be47314f15a2DanFabulich
1539bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isAfterGroupsConfiguration();
1549bf49482d840550074c670dd8924be47314f15a2DanFabulich
1559bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1569bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return The timeout in milliseconds.
1579bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1589bf49482d840550074c670dd8924be47314f15a2DanFabulich  long getTimeOut();
159830ff4bf3fbfae0d63cb762b9c0d9a184feb58a3Cédric Beust  void setTimeOut(long timeOut);
1609bf49482d840550074c670dd8924be47314f15a2DanFabulich
1619bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1629bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return the number of times this method needs to be invoked.
1639bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1649bf49482d840550074c670dd8924be47314f15a2DanFabulich  int getInvocationCount();
1659bf49482d840550074c670dd8924be47314f15a2DanFabulich  void setInvocationCount(int count);
1660f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
1679bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
168ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr   * @return the total number of thimes this method needs to be invoked, including possible
169ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr   *         clones of this method - this is relevant when threadPoolSize is bigger than 1
170ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr   *         where each clone of this method is only invoked once individually, i.e.
171ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr   *         {@link org.testng.ITestNGMethod#getInvocationCount()} would always return 1.
172ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr   */
173ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr  int getTotalInvocationCount();
174ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr
175ce11604bda708dbd2c42435e77027d5c360c9fa9Julien Herr  /**
1769bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return the success percentage for this method (between 0 and 100).
1779bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1789bf49482d840550074c670dd8924be47314f15a2DanFabulich  int getSuccessPercentage();
1799bf49482d840550074c670dd8924be47314f15a2DanFabulich
1809bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1819bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return The id of the thread this method was run in.
1829bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1839bf49482d840550074c670dd8924be47314f15a2DanFabulich  String getId();
1849bf49482d840550074c670dd8924be47314f15a2DanFabulich
1859bf49482d840550074c670dd8924be47314f15a2DanFabulich  void setId(String id);
1869bf49482d840550074c670dd8924be47314f15a2DanFabulich
1879bf49482d840550074c670dd8924be47314f15a2DanFabulich  long getDate();
1889bf49482d840550074c670dd8924be47314f15a2DanFabulich
1899bf49482d840550074c670dd8924be47314f15a2DanFabulich  void setDate(long date);
1909bf49482d840550074c670dd8924be47314f15a2DanFabulich
1919bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1929bf49482d840550074c670dd8924be47314f15a2DanFabulich   * Returns if this ITestNGMethod can be invoked from within IClass.
1939bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1949bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean canRunFromClass(IClass testClass);
1950f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
1969bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
1979bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return true if this method is alwaysRun=true
1989bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
1999bf49482d840550074c670dd8924be47314f15a2DanFabulich  boolean isAlwaysRun();
2009bf49482d840550074c670dd8924be47314f15a2DanFabulich
2019bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
2029bf49482d840550074c670dd8924be47314f15a2DanFabulich   * @return the number of threads to be used when invoking the method on parallel
2039bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
2049bf49482d840550074c670dd8924be47314f15a2DanFabulich  int getThreadPoolSize();
2059bf49482d840550074c670dd8924be47314f15a2DanFabulich
2069bf49482d840550074c670dd8924be47314f15a2DanFabulich  void setThreadPoolSize(int threadPoolSize);
2070f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
2087c34e4fb500043899ef7c6cc29c62e4c2026d0b5Cédric Beust  boolean getEnabled();
2097c34e4fb500043899ef7c6cc29c62e4c2026d0b5Cédric Beust
2109bf49482d840550074c670dd8924be47314f15a2DanFabulich  public String getDescription();
2116bc6a75dd337cec3553dd8938bd68c2e1b675aafJulien Herr  void setDescription(String description);
2129bf49482d840550074c670dd8924be47314f15a2DanFabulich
2139bf49482d840550074c670dd8924be47314f15a2DanFabulich  public void incrementCurrentInvocationCount();
2149bf49482d840550074c670dd8924be47314f15a2DanFabulich  public int getCurrentInvocationCount();
2159bf49482d840550074c670dd8924be47314f15a2DanFabulich  public void setParameterInvocationCount(int n);
2169bf49482d840550074c670dd8924be47314f15a2DanFabulich  public int getParameterInvocationCount();
2179bf49482d840550074c670dd8924be47314f15a2DanFabulich
2189bf49482d840550074c670dd8924be47314f15a2DanFabulich  public ITestNGMethod clone();
2190f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
2209bf49482d840550074c670dd8924be47314f15a2DanFabulich  public IRetryAnalyzer getRetryAnalyzer();
2219bf49482d840550074c670dd8924be47314f15a2DanFabulich  public void setRetryAnalyzer(IRetryAnalyzer retryAnalyzer);
2220f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
2239bf49482d840550074c670dd8924be47314f15a2DanFabulich  public boolean skipFailedInvocations();
2249bf49482d840550074c670dd8924be47314f15a2DanFabulich  public void setSkipFailedInvocations(boolean skip);
2250f7e671c94aeedee2fbc796b3318d44b0297b6cdnullin
2269bf49482d840550074c670dd8924be47314f15a2DanFabulich  /**
2279bf49482d840550074c670dd8924be47314f15a2DanFabulich   * The time under which all invocationCount methods need to complete by.
2289bf49482d840550074c670dd8924be47314f15a2DanFabulich   */
2299bf49482d840550074c670dd8924be47314f15a2DanFabulich  public long getInvocationTimeOut();
2309bf49482d840550074c670dd8924be47314f15a2DanFabulich
2319bf49482d840550074c670dd8924be47314f15a2DanFabulich  public boolean ignoreMissingDependencies();
2329bf49482d840550074c670dd8924be47314f15a2DanFabulich  public void setIgnoreMissingDependencies(boolean ignore);
233dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust
234dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust  /**
235dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   * Which invocation numbers of this method should be used (only applicable
236dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   * if it uses a data provider). If this value is an empty list, use all the values
237dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   * returned from the data provider.  These values are read from the XML file in
238dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   * the <include invocationNumbers="..."> tag.
239dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   */
240dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust  public List<Integer> getInvocationNumbers();
241dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust  public void setInvocationNumbers(List<Integer> numbers);
242dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust
243dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust  /**
244dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   * The list of invocation numbers that failed, which is only applicable for
245dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   * methods that have a data provider.
246dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust   */
247dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust  public void addFailedInvocationNumber(int number);
248dd84c4f1673772d6b1febb72add6a2ae40f4e4ccCédric Beust  public List<Integer> getFailedInvocationNumbers();
249bf8793f759516dd01031191df20dddd2de71cd69Cédric Beust
250bf8793f759516dd01031191df20dddd2de71cd69Cédric Beust  /**
251bf8793f759516dd01031191df20dddd2de71cd69Cédric Beust   * The scheduling priority. Lower priorities get scheduled first.
252bf8793f759516dd01031191df20dddd2de71cd69Cédric Beust   */
253bf8793f759516dd01031191df20dddd2de71cd69Cédric Beust  public int getPriority();
254bf8793f759516dd01031191df20dddd2de71cd69Cédric Beust  public void setPriority(int priority);
2556b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beust
2566b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beust  /**
2576b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beust   * @return the XmlTest this method belongs to.
2586b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beust   */
2596b78db145df3159fbd5b8fe43571e2021efbab25Cédric Beust  public XmlTest getXmlTest();
2600e8453d55f6a2308f0b097b3ca0a43afb792f864Cédric Beust
2610e8453d55f6a2308f0b097b3ca0a43afb792f864Cédric Beust  ConstructorOrMethod getConstructorOrMethod();
26266aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beust
26366aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beust  /**
26466aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beust   * @return the parameters found in the include tag, if any
26566aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beust   * @param test
26666aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beust   */
26766aec6c16d8782f01933c0b45e1c5b3976e04dd6Cédric Beust  Map<String, String> findMethodParameters(XmlTest test);
2689bf49482d840550074c670dd8924be47314f15a2DanFabulich}
269