@Override protected void setField(Object r, String n, int pos, Object v, Object state) { if (v == null && r instanceof TUnion) return; ((TBase)r).setFieldValue(((TFieldIdEnum[])state)[pos], v); }
/** * Sets the value of the specified struct field. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static void set(TBase<?, ?> struct, TFieldIdEnum field, Object value) { ((TBase) struct).setFieldValue(field, value); }
/** * Sets the value of the specified struct field. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static void set(TBase<?, ?> struct, TFieldIdEnum field, Object value) { ((TBase) struct).setFieldValue(field, value); }
/** * Sets the value of the specified struct field. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static void set(TBase<?, ?> struct, TFieldIdEnum field, Object value) { ((TBase) struct).setFieldValue(field, value); }
/** * Sets the value of the specified struct field. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public static void set(TBase<?, ?> struct, TFieldIdEnum field, Object value) { ((TBase) struct).setFieldValue(field, value); }
public static <A extends TBase> A setFieldValue(A inst,TFieldIdEnum field,Object fieldValue){ try { inst.setFieldValue(field, fieldValue); return inst; } catch (Exception e) { throw new RuntimeException(e); } }
public static <A extends TBase> A newInstance(Class<A> clazz,TFieldIdEnum field,Object fieldValue){ try { A inst = clazz.newInstance(); inst.setFieldValue(field, fieldValue); return inst; } catch (Exception e) { throw new RuntimeException(e); } }
case STRING : try { entity.setFieldValue(f.getKey(), valueForBasicType(value, f.getValue().valueMetaData.type)); entity.setFieldValue(f.getKey(), ByteBuffer.wrap(Base64.decodeBase64((String)value))); org.apache.thrift.meta_data.EnumMetaData meta = (org.apache.thrift.meta_data.EnumMetaData)f.getValue().valueMetaData; Object e = meta.enumClass; entity.setFieldValue(f.getKey(), Enum.valueOf((Class<Enum>) e, (String)value)); break; Map<Object, Object> childMap = (Map<Object, Object>)value; Map<Object, Object> childEntityMap = Maps.newHashMap(); entity.setFieldValue(f.getKey(), childEntityMap); entity.setFieldValue(f.getKey(), childList);
case STRING : try { entity.setFieldValue(f.getKey(), valueForBasicType(value, f.getValue().valueMetaData.type)); entity.setFieldValue(f.getKey(), ByteBuffer.wrap(Base64.decodeBase64((String)value))); org.apache.thrift.meta_data.EnumMetaData meta = (org.apache.thrift.meta_data.EnumMetaData)f.getValue().valueMetaData; Object e = meta.enumClass; entity.setFieldValue(f.getKey(), Enum.valueOf((Class<Enum>) e, (String)value)); break; Map<Object, Object> childMap = (Map<Object, Object>)value; Map<Object, Object> childEntityMap = Maps.newHashMap(); entity.setFieldValue(f.getKey(), childEntityMap); entity.setFieldValue(f.getKey(), childList);
Field field = tDesc.getFieldAt(i); try { tObj.setFieldValue(field.getFieldIdEnum(), toThriftValue(field, pObj)); } catch (Exception e) { String value = String.valueOf(tObj);
if (causeException != null && getMethod.getReturnType().equals(causeException.getClass())) { found = true; resultObj.setFieldValue(fieldIdEnum, causeException); break; Object realResult = (response.getResult()).getReturnVal(); if (realResult != null) { resultObj.setFieldValue(resultObj.fieldForId(0), realResult);
private byte[] doSerializeRequest(DefaultRequest request) throws Exception { RpcInvocation rpcInvocation = request.getData(); TMessage message = new TMessage(rpcInvocation.getMethod().getName(), TMessageType.CALL, request.getSeqToInt()); String argsClassName = ThriftUtil.generateArgsClassName( request.getServiceInterface().getName(), rpcInvocation.getMethod().getName()); TBase args = getClazzInstance(argsClassName); Object[] arguments = rpcInvocation.getArguments(); if (arguments != null) { for (int i = 0; i < arguments.length; i++) { if (arguments[i] != null) { args.setFieldValue(args.fieldForId(i + 1), arguments[i]); } } } TMemoryBuffer transport = new TMemoryBuffer(1024); TBinaryProtocol protocol = new TBinaryProtocol(transport); protocol.writeMessageBegin(message); if (!request.isOctoProtocol()) { // 不影响原生thrift解码 RequestHeader requestHeader = MetaUtil.convertRequestToOldProtocolHeader(request); protocol.writeFieldBegin(MTRACE_FIELD_DESC); requestHeader.write(protocol); protocol.writeFieldEnd(); } args.write(protocol); protocol.writeMessageEnd(); protocol.getTransport().flush(); return transport.getArray(); }