1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17 package org.apache.commons.math.stat.inference;
18 import org.apache.commons.discovery.tools.DiscoverClass;
19
20 /**
21 * Abstract factory to create inference test instances.
22 *
23 * @since 1.1
24 * @version $Revision: 574050 $ $Date: 2007-09-09 11:54:08 -0700 (Sun, 09 Sep 2007) $
25 * @deprecated as of 1.2, pluggability of test instances is now provided through
26 * constructors and setters.
27 */
28 public abstract class TestFactory {
29 /**
30 * Default constructor.
31 */
32 protected TestFactory() {
33 super();
34 }
35
36 /**
37 * Create an instance of a <code>TestFactory</code>
38 *
39 * @return a new factory.
40 */
41 public static TestFactory newInstance() {
42 TestFactory factory = null;
43 try {
44 DiscoverClass dc = new DiscoverClass();
45 factory = (TestFactory) dc.newInstance(
46 TestFactory.class,
47 "org.apache.commons.math.stat.inference.TestFactoryImpl");
48 } catch(Throwable t) {
49 return new TestFactoryImpl();
50 }
51 return factory;
52 }
53
54 /**
55 * Create a TTest instance.
56 *
57 * @return a new TTest instance
58 */
59 public abstract TTest createTTest();
60
61 /**
62 * Create a ChiSquareTest instance.
63 *
64 * @return a new ChiSquareTest instance
65 */
66 public abstract ChiSquareTest createChiSquareTest();
67 }