try { if (field.isWriteOnly()) { continue;
try { if (field.isWriteOnly()) { continue;
private <T> void verifyField(ThriftStructMetadata metadata, int id, String name) { ThriftFieldMetadata messageField = metadata.getField(id); assertNotNull(messageField, "field '" + name + "' is null"); assertEquals(messageField.getId(), id); assertEquals(messageField.getName(), name); assertFalse(messageField.isReadOnly()); assertFalse(messageField.isWriteOnly()); assertTrue(messageField.getExtraction().isPresent()); ThriftExtraction extraction = messageField.getExtraction().get(); assertEquals(extraction.getId(), id); assertEquals(extraction.getName(), name); assertNotNull(messageField.getInjections()); assertEquals(messageField.getInjections().size(), 1); ThriftInjection injection = messageField.getInjections().get(0); assertEquals(injection.getId(), id); assertEquals(injection.getName(), name); } }
private <T> void verifyField(ThriftStructMetadata metadata, int id, String name) { ThriftFieldMetadata metadataField = metadata.getField(id); assertNotNull(metadataField, "metadataField is null"); assertEquals(metadataField.getId(), id); assertEquals(metadataField.getName(), name); assertFalse(metadataField.isReadOnly()); assertFalse(metadataField.isWriteOnly()); assertTrue(metadataField.getExtraction().isPresent()); ThriftExtraction extraction = metadataField.getExtraction().get(); assertEquals(extraction.getId(), id); assertEquals(extraction.getName(), name); assertNotNull(metadataField.getInjections()); assertEquals(metadataField.getInjections().size(), 1); ThriftInjection injection = metadataField.getInjections().get(0); assertEquals(injection.getId(), id); assertEquals(injection.getName(), name); } }
if (field.isWriteOnly() || field.getType() != THRIFT_FIELD) { reader.skipFieldData(); continue;
@Override public void write(T instance, TProtocol protocol) throws Exception { TProtocolWriter writer = new TProtocolWriter(protocol); writer.writeStructBegin(metadata.getStructName()); for (ThriftFieldMetadata fieldMetadata : metadata.getFields(THRIFT_FIELD)) { // is the field readable? if (fieldMetadata.isWriteOnly()) { continue; } // get the field value Object fieldValue = getFieldValue(instance, fieldMetadata); // write the field if (fieldValue != null) { @SuppressWarnings("unchecked") ThriftCodec<Object> codec = (ThriftCodec<Object>) fields.get(fieldMetadata.getId()); writer.writeField(fieldMetadata.getName(), fieldMetadata.getId(), codec, fieldValue); } } writer.writeStructEnd(); }