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.change;
05:
06: import com.tc.io.TCByteBufferOutputStream;
07: import com.tc.object.TCObject;
08: import com.tc.object.dna.api.DNACursor;
09: import com.tc.object.dna.api.DNAEncoding;
10: import com.tc.object.dna.impl.ObjectStringSerializer;
11: import com.tc.object.tx.optimistic.OptimisticTransactionManager;
12:
13: /**
14: * @author orion
15: */
16: public interface TCChangeBuffer {
17: public final static int NONE = 0;
18: public final static int PHYSICAL = 1;
19: public final static int LOGICAL = 3;
20: public final static int ARRAY = 7;
21:
22: public void literalValueChanged(Object newValue);
23:
24: public void fieldChanged(String classname, String fieldname,
25: Object newValue, int index);
26:
27: public void arrayChanged(int startPos, Object array, int length);
28:
29: public void logicalInvoke(int method, Object[] parameters);
30:
31: public void writeTo(TCByteBufferOutputStream output,
32: ObjectStringSerializer serializer, DNAEncoding encoding);
33:
34: public TCObject getTCObject();
35:
36: public int getTotalEventCount();
37:
38: public int getType();
39:
40: public void accept(TCChangeBufferEventVisitor visitor);
41:
42: public DNACursor getDNACursor(
43: OptimisticTransactionManager transactionManager);
44:
45: }
|