@Override public void read(org.apache.thrift.protocol.TProtocol prot, State struct) throws org.apache.thrift.TException { TTupleProtocol iprot = (TTupleProtocol) prot; struct.base = new ezbake.query.intents.base.BaseContext(); struct.base.read(iprot); struct.setBaseIsSet(true); struct.state = ObjectState.findByValue(iprot.readI32()); struct.setStateIsSet(true); }
public void read(org.apache.thrift.protocol.TProtocol iprot, State struct) throws org.apache.thrift.TException { org.apache.thrift.protocol.TField schemeField; iprot.readStructBegin(); while (true) { schemeField = iprot.readFieldBegin(); if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { break; } switch (schemeField.id) { case 1: // BASE if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { struct.base = new ezbake.query.intents.base.BaseContext(); struct.base.read(iprot); struct.setBaseIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; case 2: // STATE if (schemeField.type == org.apache.thrift.protocol.TType.I32) { struct.state = ObjectState.findByValue(iprot.readI32()); struct.setStateIsSet(true); } else { org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } iprot.readFieldEnd(); } iprot.readStructEnd(); // check for required fields of primitive type, which can't be checked in the validate method struct.validate(); }
@Override public void setVirtualEntry(State objectState, int index, ValueNode value) { ObjectState obj = (ObjectState) objectState; assert obj != null && obj.isVirtual() : "not virtual: " + obj; ObjectState valueState = state.getObjectState(value); ValueNode newValue = value; if (valueState == null) { newValue = getReplacedValue(value); assert obj.getEntry(index) == null || obj.getEntry(index).kind() == newValue.kind() || (isObjectEntry(obj.getEntry(index)) && isObjectEntry(newValue)); } else { if (valueState.getState() != EscapeState.Virtual) { newValue = valueState.getMaterializedValue(); assert newValue.kind() == Kind.Object; } else { newValue = valueState.getVirtualObject(); } assert obj.getEntry(index) == null || isObjectEntry(obj.getEntry(index)); } obj.setEntry(index, newValue); }
@Override public ValueNode getMaterializedValue(ValueNode value) { ObjectState obj = state.getObjectState(value); return obj != null && !obj.isVirtual() ? obj.getMaterializedValue() : null; }