capnproto-java-rpc/runtime/src/main/java/org/capnproto/AnyPointer.java

38 lines
1.1 KiB
Java
Raw Normal View History

package org.capnproto;
public final class AnyPointer {
public final static class Reader {
public final PointerReader reader;
public Reader(PointerReader reader) {
this.reader = reader;
}
2014-10-08 02:35:08 +00:00
public final <T> T getAs(FromPointerReader<T> factory) {
return factory.fromPointerReader(this.reader.segment, this.reader.pointer, null, 0, this.reader.nestingLimit);
2014-10-06 15:15:33 +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
}
public final void clear() {
this.builder.clear();
}
2014-05-24 14:12:44 +00:00
}
}