1e3365aa452673f7ea3244bb6638551f13ab7570dNick Lewyckypackage org.mockito.internal.util.reflection;
23ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar
33ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbarimport java.lang.reflect.Constructor;
43ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar
53ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbarpublic abstract class Constructors {
63ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar
73ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar    /**
83ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar     * Returns the no arg constructor of the type if any.
93ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar     *
103ede8d0a7d1813f678ccc6011a99a0834b1b6116Daniel Dunbar     * @param classToMock The type to look for a no-arg constructor
1155fc873017f10f6f566b182b70f6fc22aefa3464Chandler Carruth     * @return The no-arg constructor or null if none is declared.
1255fc873017f10f6f566b182b70f6fc22aefa3464Chandler Carruth     */
1355fc873017f10f6f566b182b70f6fc22aefa3464Chandler Carruth    public static Constructor<?> noArgConstructorOf(Class<?> classToMock) {
1453ec55215075c8f4ddd47ca6ed7d382f16beb670Daniel Dunbar        try {
151b3bb6efc59a21f794b534078f9ae7e95393f510Daniel Dunbar            return classToMock.getDeclaredConstructor();
164ad4b3ebbe5769143389dccfcfadb666a4ba5940Daniel Dunbar        } catch (NoSuchMethodException e) {
17f353c8cc2ee1cc16ff194b399a8d951f707fb129Daniel Dunbar            return null;
181b3bb6efc59a21f794b534078f9ae7e95393f510Daniel Dunbar        }
19f353c8cc2ee1cc16ff194b399a8d951f707fb129Daniel Dunbar    }
20f353c8cc2ee1cc16ff194b399a8d951f707fb129Daniel Dunbar}
217f9fc3f7ce076645cb6aefc99c64d9446caf13d6Chris Lattner