01: /*
02: * All content copyright (c) 2003-2006 Terracotta, Inc., except as may otherwise be noted in a separate copyright notice. All rights reserved.
03: */
04: package com.tc.object;
05:
06: import com.tc.object.bytecode.NullTCObject;
07: import com.tc.object.dna.api.DNA;
08:
09: import java.io.IOException;
10: import java.lang.reflect.InvocationTargetException;
11:
12: public interface TCObjectFactory {
13:
14: public final static TCObject NULL_TC_OBJECT = NullTCObject.INSTANCE;
15:
16: public void setObjectManager(ClientObjectManager objectManager);
17:
18: public TCObject getNewInstance(ObjectID id, Object peer, Class clazz);
19:
20: public TCObject getNewInstance(ObjectID id, Class clazz);
21:
22: public Object getNewPeerObject(TCClass type, Object parent)
23: throws IllegalArgumentException, SecurityException,
24: InstantiationException, IllegalAccessException,
25: InvocationTargetException, NoSuchMethodException;
26:
27: public Object getNewArrayInstance(TCClass type, int size);
28:
29: public Object getNewPeerObject(TCClass type)
30: throws IllegalArgumentException, InstantiationException,
31: IllegalAccessException, InvocationTargetException,
32: SecurityException, NoSuchMethodException;
33:
34: public Object getNewPeerObject(TCClass type, DNA dna)
35: throws IOException, ClassNotFoundException;
36:
37: }
|