| 1 21 package com.db4o.inside.marshall; 22 23 import com.db4o.*; 24 25 28 public abstract class ArrayMarshaller { 29 30 public MarshallerFamily _family; 31 32 public abstract void deleteEmbedded(YapArray arrayHandler, YapWriter reader); 33 34 public final TreeInt collectIDs(YapArray arrayHandler, TreeInt tree, YapWriter reader){ 35 Transaction trans = reader.getTransaction(); 36 return arrayHandler.collectIDs1(trans, tree, prepareIDReader(trans,reader)); 37 } 38 39 public abstract void defragIDs(YapArray arrayHandler,ReaderPair readers); 40 41 public abstract void calculateLengths(Transaction trans, ObjectHeaderAttributes header, YapArray handler, Object obj, boolean topLevel); 42 43 public abstract Object read(YapArray arrayHandler, YapWriter reader) throws CorruptionException; 44 45 public abstract void readCandidates(YapArray arrayHandler, YapReader reader, QCandidates candidates); 46 47 public abstract Object readQuery(YapArray arrayHandler, Transaction trans, YapReader reader) throws CorruptionException; 48 49 public abstract Object writeNew(YapArray arrayHandler, Object obj, boolean topLevel, YapWriter writer); 50 51 protected abstract YapReader prepareIDReader(Transaction trans,YapReader reader); 52 } 53 | Popular Tags |