reuse some code

This commit is contained in:
David Renshaw 2014-10-08 08:49:18 -04:00
parent 4d842f0ef7
commit b884ad11c4
7 changed files with 52 additions and 303 deletions

View file

@ -1,7 +1,8 @@
package org.capnproto; package org.capnproto;
public final class DataList { public final class DataList {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.POINTER); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -16,29 +17,6 @@ public final class DataList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.POINTER,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.POINTER,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.POINTER);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();

View file

@ -9,10 +9,11 @@ public class EnumList {
return values[index]; return values[index];
} }
public static final class Factory<T extends java.lang.Enum> implements ListFactory<Builder<T>, Reader<T>>{ public static final class Factory<T extends java.lang.Enum> extends ListFactory<Builder<T>, Reader<T>>{
public final T values[]; public final T values[];
public Factory(T values[]) { public Factory(T values[]) {
super(FieldSize.TWO_BYTES);
this.values = values; this.values = values;
} }
public final Reader<T> constructReader(SegmentReader segment, public final Reader<T> constructReader(SegmentReader segment,
@ -30,29 +31,6 @@ public class EnumList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder<T> (values, segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder<T> (values, segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader<T> fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.TWO_BYTES,
reader.nestingLimit);
}
public final Builder<T> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.TWO_BYTES,
defaultSegment,
defaultOffset);
}
public final Builder<T> initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.TWO_BYTES);
}
} }
public static final class Reader<T extends java.lang.Enum> extends ListReader { public static final class Reader<T extends java.lang.Enum> extends ListReader {

View file

@ -1,7 +1,31 @@
package org.capnproto; package org.capnproto;
public interface ListFactory<Builder, Reader> extends ListBuilder.Factory<Builder>, FromPointerBuilder<Builder>, public abstract class ListFactory<Builder, Reader> implements ListBuilder.Factory<Builder>, FromPointerBuilder<Builder>,
InitSizedFromPointerBuilder<Builder>, InitSizedFromPointerBuilder<Builder>,
ListReader.Factory<Reader>, FromPointerReader<Reader> { ListReader.Factory<Reader>, FromPointerReader<Reader> {
final byte elementSize;
ListFactory(byte elementSize) {this.elementSize = elementSize;}
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
this.elementSize,
reader.nestingLimit);
}
public Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
this.elementSize,
defaultSegment,
defaultOffset);
}
public Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, this.elementSize);
}
} }

View file

@ -2,11 +2,12 @@ package org.capnproto;
public final class ListList { public final class ListList {
public static final class Factory<ElementBuilder, ElementReader> public static final class Factory<ElementBuilder, ElementReader>
implements ListFactory<Builder<ElementBuilder>, Reader<ElementReader>> { extends ListFactory<Builder<ElementBuilder>, Reader<ElementReader>> {
public final ListFactory<ElementBuilder, ElementReader> factory; public final ListFactory<ElementBuilder, ElementReader> factory;
public Factory(ListFactory<ElementBuilder, ElementReader> factory) { public Factory(ListFactory<ElementBuilder, ElementReader> factory) {
super(FieldSize.POINTER);
this.factory = factory; this.factory = factory;
} }
@ -24,30 +25,6 @@ public final class ListList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder<ElementBuilder>(factory, segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder<ElementBuilder>(factory, segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader<ElementReader> fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.POINTER,
reader.nestingLimit);
}
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.POINTER,
defaultSegment,
defaultOffset);
}
public final Builder<ElementBuilder> initSizedFromPointerBuilder(PointerBuilder builder,
int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.POINTER);
}
} }
public static final class Reader<T> extends ListReader { public static final class Reader<T> extends ListReader {

View file

@ -2,7 +2,9 @@ package org.capnproto;
public class PrimitiveList { public class PrimitiveList {
public static class Void { public static class Void {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.VOID); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -18,28 +20,6 @@ public class PrimitiveList {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.VOID,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.VOID,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.VOID);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -67,7 +47,8 @@ public class PrimitiveList {
} }
public static class Boolean { public static class Boolean {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.BIT); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -82,29 +63,6 @@ public class PrimitiveList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.BIT,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.BIT,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.BIT);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -140,7 +98,8 @@ public class PrimitiveList {
} }
public static class Byte { public static class Byte {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.BYTE); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -155,29 +114,6 @@ public class PrimitiveList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.BYTE,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.BYTE,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.BYTE);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -214,7 +150,8 @@ public class PrimitiveList {
} }
public static class Short { public static class Short {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.TWO_BYTES); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -230,28 +167,6 @@ public class PrimitiveList {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.TWO_BYTES,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.TWO_BYTES,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.TWO_BYTES);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -288,7 +203,8 @@ public class PrimitiveList {
} }
public static class Int { public static class Int {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.FOUR_BYTES); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -304,28 +220,6 @@ public class PrimitiveList {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.FOUR_BYTES,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.FOUR_BYTES,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.FOUR_BYTES);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -361,7 +255,8 @@ public class PrimitiveList {
} }
public static class Float { public static class Float {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.FOUR_BYTES); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -376,31 +271,6 @@ public class PrimitiveList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.FOUR_BYTES,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.FOUR_BYTES,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.FOUR_BYTES);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -437,7 +307,8 @@ public class PrimitiveList {
public static class Long { public static class Long {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.EIGHT_BYTES); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -452,29 +323,6 @@ public class PrimitiveList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.EIGHT_BYTES,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.EIGHT_BYTES,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.EIGHT_BYTES);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();
@ -510,7 +358,8 @@ public class PrimitiveList {
} }
public static class Double { public static class Double {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.EIGHT_BYTES); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -525,29 +374,6 @@ public class PrimitiveList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.EIGHT_BYTES,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.EIGHT_BYTES,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.EIGHT_BYTES);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();

View file

@ -2,11 +2,12 @@ package org.capnproto;
public final class StructList { public final class StructList {
public static final class Factory<ElementBuilder, ElementReader> public static final class Factory<ElementBuilder, ElementReader>
implements ListFactory<Builder<ElementBuilder>, Reader<ElementReader>> { extends ListFactory<Builder<ElementBuilder>, Reader<ElementReader>> {
public final StructFactory<ElementBuilder, ElementReader> factory; public final StructFactory<ElementBuilder, ElementReader> factory;
public Factory(StructFactory<ElementBuilder, ElementReader> factory) { public Factory(StructFactory<ElementBuilder, ElementReader> factory) {
super(FieldSize.INLINE_COMPOSITE);
this.factory = factory; this.factory = factory;
} }
@ -26,16 +27,6 @@ public final class StructList {
return new Builder<ElementBuilder> (factory, segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder<ElementBuilder> (factory, segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader<ElementReader> fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.INLINE_COMPOSITE,
reader.nestingLimit);
}
public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) { public final Builder<ElementBuilder> fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableStructListPointer(this, return WireHelpers.getWritableStructListPointer(this,
builder.pointer, builder.pointer,
@ -49,8 +40,6 @@ public final class StructList {
int elementCount) { int elementCount) {
return WireHelpers.initStructListPointer(this, builder.pointer, builder.segment, elementCount, factory.structSize()); return WireHelpers.initStructListPointer(this, builder.pointer, builder.segment, elementCount, factory.structSize());
} }
} }
public static final class Reader<T> extends ListReader implements Iterable<T> { public static final class Reader<T> extends ListReader implements Iterable<T> {

View file

@ -1,7 +1,8 @@
package org.capnproto; package org.capnproto;
public final class TextList { public final class TextList {
public static final class Factory implements ListFactory<Builder, Reader> { public static final class Factory extends ListFactory<Builder, Reader> {
Factory() {super (FieldSize.POINTER); }
public final Reader constructReader(SegmentReader segment, public final Reader constructReader(SegmentReader segment,
int ptr, int ptr,
int elementCount, int step, int elementCount, int step,
@ -16,30 +17,6 @@ public final class TextList {
int structDataSize, short structPointerCount) { int structDataSize, short structPointerCount) {
return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount); return new Builder(segment, ptr, elementCount, step, structDataSize, structPointerCount);
} }
public final Reader fromPointerReader(PointerReader reader, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.readListPointer(this,
reader.segment,
reader.pointer,
defaultSegment,
defaultOffset,
FieldSize.POINTER,
reader.nestingLimit);
}
public final Builder fromPointerBuilder(PointerBuilder builder, SegmentReader defaultSegment, int defaultOffset) {
return WireHelpers.getWritableListPointer(this,
builder.pointer,
builder.segment,
FieldSize.POINTER,
defaultSegment,
defaultOffset);
}
public final Builder initSizedFromPointerBuilder(PointerBuilder builder, int elementCount) {
return WireHelpers.initListPointer(this, builder.pointer, builder.segment, elementCount, FieldSize.POINTER);
}
} }
public static final Factory factory = new Factory(); public static final Factory factory = new Factory();