public ThriftStructTransformer(Class<L> left, Class<R> right) { this.leftMetadata= CATALOG.getThriftStructMetadata(checkNotNull(left,"left is null")); this.rightMetadata= CATALOG.getThriftStructMetadata(checkNotNull(right,"right is null")); } @Override
@Override public <T> ThriftStructMetadata getThriftStructMetadata(Type structType) { return STRUCT_TRANSFORMER.apply(super.getThriftStructMetadata(structType)); } }
@Override public <T> ThriftStructMetadata getThriftStructMetadata(Type structType) { return STRUCT_TRANSFORMER.apply(super.getThriftStructMetadata(structType)); } }
public Thrifty2SwiftStructTransformer(Class<L> left, Class<R> right) { this.leftMetadata = STRUCTS_CACHE.getUnchecked(checkNotNull(left,"right is null")); this.rightMetadata = CATALOG.getThriftStructMetadata(checkNotNull(right,"left is null")); } @Override
public ThriftExceptionTransformer(Class<L> left, Class<R> right) { checkArgument(isThriftException(left,right),"left and right must not be Exception with @ThriftStruct annotation" ); this.leftMetadata= CATALOG.getThriftStructMetadata(left); this.rightMetadata= CATALOG.getThriftStructMetadata(right); } @Override
public Swift2ThriftyStructTransformer(Class<L> left, Class<R> right) { this.leftMetadata = CATALOG.getThriftStructMetadata(checkNotNull(left,"left is null")); this.rightMetadata = STRUCTS_CACHE.getUnchecked(checkNotNull(right,"right is null")); } @Override
public Swift2ThriftyExceptionTransformer(Class<L> left, Class<R> right) { checkArgument(isThriftException(left) && isThriftyException(right), "left must be Exception with @com.facebook.swift.codec.ThriftStruct annotation," + "right must be Exception implement com.microsoft.thrifty.Struct interface" ); this.leftMetadata = CATALOG.getThriftStructMetadata(left); this.rightMetadata = STRUCTS_CACHE.getUnchecked(checkNotNull(right,"right is null")); } @Override
ThriftStructMetadata structMetadata = getThriftStructMetadata(javaType); return struct(structMetadata); ThriftStructMetadata structMetadata = getThriftStructMetadata(javaType);
private <T> T testRoundTripSerialize(ThriftCodec<T> readCodec, ThriftCodec<T> writeCodec, Type structType, T structInstance, TProtocolFactory protocolFactory) throws Exception { ThriftCatalog readCatalog = readCodecManager.getCatalog(); ThriftStructMetadata readMetadata = readCatalog.getThriftStructMetadata(structType); assertNotNull(readMetadata); ThriftCatalog writeCatalog = writeCodecManager.getCatalog(); ThriftStructMetadata writeMetadata = writeCatalog.getThriftStructMetadata(structType); assertNotNull(writeMetadata); TMemoryBuffer transport = new TMemoryBuffer(10 * 1024); TProtocol protocol = protocolFactory.getProtocol(transport); writeCodec.write(structInstance, protocol); T copy = readCodec.read(protocol); assertNotNull(copy); assertEquals(copy, structInstance); return copy; }
ThriftStructMetadata structMetadata = getThriftStructMetadata(javaType);