2014-05-15 23:05:20 +00:00
|
|
|
package org.capnproto;
|
|
|
|
|
2014-05-19 12:43:58 +00:00
|
|
|
public final class AnyPointer {
|
2014-05-15 23:05:20 +00:00
|
|
|
|
2014-05-19 12:43:58 +00:00
|
|
|
public final static class Reader {
|
|
|
|
public final PointerReader reader;
|
2014-05-15 23:05:20 +00:00
|
|
|
|
|
|
|
public Reader(PointerReader reader) {
|
|
|
|
this.reader = reader;
|
|
|
|
}
|
|
|
|
|
2014-10-08 02:35:08 +00:00
|
|
|
public final <T> T getAs(FromPointerReader<T> factory) {
|
2014-10-08 13:24:48 +00:00
|
|
|
return factory.fromPointerReader(this.reader.segment, this.reader.pointer, null, 0, this.reader.nestingLimit);
|
2014-10-06 15:15:33 +00:00
|
|
|
}
|
2014-05-15 23:05:20 +00:00
|
|
|
}
|
|
|
|
|
2014-05-24 14:12:44 +00:00
|
|
|
public static final class Builder {
|
|
|
|
public final PointerBuilder builder;
|
|
|
|
|
|
|
|
public Builder(PointerBuilder builder) {
|
|
|
|
this.builder = builder;
|
|
|
|
}
|
|
|
|
|
2014-10-08 02:35:08 +00:00
|
|
|
public final <T> T initAs(InitFromPointerBuilder<T> factory) {
|
2014-10-08 15:00:22 +00:00
|
|
|
return factory.initFromPointerBuilder(this.builder.segment, this.builder.pointer);
|
2014-10-08 02:35:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public final <T> T initAs(InitSizedFromPointerBuilder<T> factory, int elementCount) {
|
2014-10-08 15:00:22 +00:00
|
|
|
return factory.initSizedFromPointerBuilder(this.builder.segment, this.builder.pointer, elementCount);
|
2014-05-24 14:12:44 +00:00
|
|
|
}
|
2014-10-02 15:54:37 +00:00
|
|
|
|
|
|
|
public final void clear() {
|
|
|
|
this.builder.clear();
|
|
|
|
}
|
2014-05-24 14:12:44 +00:00
|
|
|
}
|
|
|
|
|
2014-05-15 23:05:20 +00:00
|
|
|
}
|