ListBuilder.Factory, ListReader.Factory

This commit is contained in:
David Renshaw 2014-10-07 21:21:15 -04:00
parent b4f34cb393
commit a3c836c619
7 changed files with 21 additions and 15 deletions

View file

@ -1,9 +1,6 @@
package org.capnproto; package org.capnproto;
public interface FromPointerBuilder<T> { public interface FromPointerBuilder<T> {
T constructBuilder(SegmentBuilder segment, int ptr,
int elementCount, int step,
int structDataSize, short structPointerCount);
T fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset); T fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset);
T initFromPointerBuilder(PointerBuilder builder, int elementCount); T initFromPointerBuilder(PointerBuilder builder, int elementCount);
} }

View file

@ -1,10 +1,5 @@
package org.capnproto; package org.capnproto;
public interface FromPointerReader<T> { public interface FromPointerReader<T> {
T constructReader(SegmentReader segment,
int ptr,
int elementCount, int step,
int structDataSize, short structPointerCount,
int nestingLimit);
T fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset); T fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset);
} }

View file

@ -1,6 +1,12 @@
package org.capnproto; package org.capnproto;
public class ListBuilder { public class ListBuilder {
public interface Factory<T> {
T constructBuilder(SegmentBuilder segment, int ptr,
int elementCount, int step,
int structDataSize, short structPointerCount);
}
final SegmentBuilder segment; final SegmentBuilder segment;
final int ptr; // byte offset to front of list final int ptr; // byte offset to front of list
final int elementCount; final int elementCount;

View file

@ -1,5 +1,6 @@
package org.capnproto; package org.capnproto;
public interface ListFactory<Builder, Reader> extends FromPointerBuilder<Builder>, FromPointerReader<Reader> { public interface ListFactory<Builder, Reader> extends ListBuilder.Factory<Builder>, FromPointerBuilder<Builder>,
ListReader.Factory<Reader>, FromPointerReader<Reader> {
} }

View file

@ -1,6 +1,14 @@
package org.capnproto; package org.capnproto;
public class ListReader { public class ListReader {
public interface Factory<T> {
T constructReader(SegmentReader segment,
int ptr,
int elementCount, int step,
int structDataSize, short structPointerCount,
int nestingLimit);
}
final SegmentReader segment; final SegmentReader segment;
final int ptr; // byte offset to front of list final int ptr; // byte offset to front of list
final int elementCount; final int elementCount;

View file

@ -2,7 +2,6 @@ package org.capnproto;
public class StructReader { public class StructReader {
public interface Factory<T> { public interface Factory<T> {
T constructReader(SegmentReader segment, int data, int pointers, T constructReader(SegmentReader segment, int data, int pointers,
int dataSize, short pointerCount, int dataSize, short pointerCount,

View file

@ -188,7 +188,7 @@ final class WireHelpers {
} }
static <T> T initListPointer(FromPointerBuilder<T> factory, static <T> T initListPointer(ListBuilder.Factory<T> factory,
int refOffset, int refOffset,
SegmentBuilder segment, SegmentBuilder segment,
int elementCount, int elementCount,
@ -208,7 +208,7 @@ final class WireHelpers {
elementCount, step, dataSize, (short)pointerCount); elementCount, step, dataSize, (short)pointerCount);
} }
static <T> T initStructListPointer(FromPointerBuilder<T> factory, static <T> T initStructListPointer(ListBuilder.Factory<T> factory,
int refOffset, int refOffset,
SegmentBuilder segment, SegmentBuilder segment,
int elementCount, int elementCount,
@ -238,7 +238,7 @@ final class WireHelpers {
elementSize.data * Constants.BITS_PER_WORD, elementSize.pointers); elementSize.data * Constants.BITS_PER_WORD, elementSize.pointers);
} }
static <T> T getWritableListPointer(FromPointerBuilder<T> factory, static <T> T getWritableListPointer(ListBuilder.Factory<T> factory,
int origRefOffset, int origRefOffset,
SegmentBuilder origSegment, SegmentBuilder origSegment,
byte elementSize, byte elementSize,
@ -296,7 +296,7 @@ final class WireHelpers {
} }
} }
static <T> T getWritableStructListPointer(FromPointerBuilder<T> factory, static <T> T getWritableStructListPointer(ListBuilder.Factory<T> factory,
int origRefOffset, int origRefOffset,
SegmentBuilder origSegment, SegmentBuilder origSegment,
StructSize elementSize, StructSize elementSize,
@ -514,7 +514,7 @@ final class WireHelpers {
throw new Error("copyPointer is unimplemented"); throw new Error("copyPointer is unimplemented");
} }
static <T> T readListPointer(FromPointerReader<T> factory, static <T> T readListPointer(ListReader.Factory<T> factory,
SegmentReader segment, SegmentReader segment,
int refOffset, int refOffset,
SegmentReader defaultSegment, SegmentReader defaultSegment,