Update of /cvsroot/mocklib/mocklib3/input/javasrc/biz/xsoftware/mock
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv32615/input/javasrc/biz/xsoftware/mock
Modified Files:
MockObjectFactory.java
Log Message:
mocklib3 should be about complete. probably some tweaks it could use later.
Index: MockObjectFactory.java
===================================================================
RCS file: /cvsroot/mocklib/mocklib3/input/javasrc/biz/xsoftware/mock/MockObjectFactory.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** MockObjectFactory.java 10 Sep 2006 20:45:04 -0000 1.2
--- MockObjectFactory.java 10 Sep 2006 22:35:21 -0000 1.3
***************
*** 7,13 ****
package biz.xsoftware.mock;
- import java.lang.reflect.Proxy;
-
- import biz.xsoftware.mock.impl.MockObjectImpl;
/**
--- 7,10 ----
***************
*** 18,22 ****
public abstract class MockObjectFactory {
! private MockObjectFactory() {}
/**
--- 15,21 ----
public abstract class MockObjectFactory {
! private static MockObjectFactory factory;
!
! protected MockObjectFactory() {}
/**
***************
*** 103,119 ****
* cases can call expect event on.
*/
! public static MockObject createMock(String id, Class[] interfaces) {
! Class[] interfacesPlusMock = new Class[interfaces.length+1];
! interfacesPlusMock[0] = MockObject.class;
! for(int i = 1; i < interfacesPlusMock.length; i++) {
! interfacesPlusMock[i] = interfaces[i-1];
}
-
- ClassLoader cl = MockObjectFactory.class.getClassLoader();
- MockObjectImpl impl = new MockObjectImpl(id, interfaces);
- Object o = Proxy.newProxyInstance(cl, interfacesPlusMock, impl);
- MockObject m = (MockObject)o;
- return m;
}
}
--- 102,126 ----
* cases can call expect event on.
*/
! public static synchronized MockObject createMock(String id, Class[] interfaces) {
! if(factory == null) {
! loadFactory();
! }
! return factory.createMockImpl(id, interfaces);
! }
!
! private static void loadFactory() {
! String className = "biz.xsoftware.mock.impl.MockObjectFactoryImpl";
! try {
! Class<?> clazz = Class.forName(className);
! factory = (MockObjectFactory) clazz.newInstance();
! } catch (ClassNotFoundException e) {
! throw new RuntimeException(e);
! } catch (InstantiationException e) {
! throw new RuntimeException(e);
! } catch (IllegalAccessException e) {
! throw new RuntimeException(e);
}
}
+ public abstract MockObject createMockImpl(String id, Class[] interfaces);
}
|