/** * <code>optional .openxc.DynamicField event = 3;</code> */ public Builder setEvent( com.openxc.BinaryMessages.DynamicField.Builder builderForValue) { if (eventBuilder_ == null) { event_ = builderForValue.build(); onChanged(); } else { eventBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000004; return this; } /**
subBuilder.mergeFrom(value_); value_ = subBuilder.buildPartial(); subBuilder.mergeFrom(event_); event_ = subBuilder.buildPartial();
public com.openxc.BinaryMessages.DynamicField buildPartial() { com.openxc.BinaryMessages.DynamicField result = new com.openxc.BinaryMessages.DynamicField(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) == 0x00000001)) { to_bitField0_ |= 0x00000001; } result.type_ = type_; if (((from_bitField0_ & 0x00000002) == 0x00000002)) { to_bitField0_ |= 0x00000002; } result.stringValue_ = stringValue_; if (((from_bitField0_ & 0x00000004) == 0x00000004)) { to_bitField0_ |= 0x00000004; } result.numericValue_ = numericValue_; if (((from_bitField0_ & 0x00000008) == 0x00000008)) { to_bitField0_ |= 0x00000008; } result.booleanValue_ = booleanValue_; result.bitField0_ = to_bitField0_; onBuilt(); return result; }
@Test public void deserializeNoErrors() throws IOException, UnrecognizedMessageTypeException { BinaryMessages.VehicleMessage.Builder builder = BinaryMessages.VehicleMessage.newBuilder(); builder.setType(BinaryMessages.VehicleMessage.Type.SIMPLE); BinaryMessages.SimpleMessage.Builder messageBuilder = BinaryMessages.SimpleMessage.newBuilder(); messageBuilder.setName(messageName); BinaryMessages.DynamicField.Builder fieldBuilder = BinaryMessages.DynamicField.newBuilder(); fieldBuilder.setType(BinaryMessages.DynamicField.Type.NUM); fieldBuilder.setNumericValue(42); messageBuilder.setValue(fieldBuilder); builder.setSimpleMessage(messageBuilder); BinaryMessages.VehicleMessage serialized = builder.build(); ByteArrayOutputStream output = new ByteArrayOutputStream(); serialized.writeTo(output); InputStream input = new ByteArrayInputStream(output.toByteArray()); try { message = (SimpleVehicleMessage) BinaryFormatter.deserialize(input); } catch(UnrecognizedMessageTypeException e) {} assertEquals(message.getName(), messageName); assertEquals(message.getValue(), value); }
@Test(expected=UnrecognizedMessageTypeException.class) public void deserializeWellFormedButConfusedMessage() throws IOException, UnrecognizedMessageTypeException { // Build a simple message that's missing a name BinaryMessages.VehicleMessage.Builder builder = BinaryMessages.VehicleMessage.newBuilder(); builder.setType(BinaryMessages.VehicleMessage.Type.SIMPLE); BinaryMessages.SimpleMessage.Builder messageBuilder = BinaryMessages.SimpleMessage.newBuilder(); BinaryMessages.DynamicField.Builder fieldBuilder = BinaryMessages.DynamicField.newBuilder(); fieldBuilder.setType(BinaryMessages.DynamicField.Type.NUM); fieldBuilder.setNumericValue(42); messageBuilder.setValue(fieldBuilder); builder.setSimpleMessage(messageBuilder); BinaryMessages.VehicleMessage serialized = builder.build(); ByteArrayOutputStream output = new ByteArrayOutputStream(); serialized.writeTo(output); InputStream input = new ByteArrayInputStream(output.toByteArray()); BinaryFormatter.deserialize(input); }
/** * <code>optional .openxc.DynamicField event = 3;</code> */ public Builder mergeEvent(com.openxc.BinaryMessages.DynamicField value) { if (eventBuilder_ == null) { if (((bitField0_ & 0x00000004) == 0x00000004) && event_ != null && event_ != com.openxc.BinaryMessages.DynamicField.getDefaultInstance()) { event_ = com.openxc.BinaryMessages.DynamicField.newBuilder(event_).mergeFrom(value).buildPartial(); } else { event_ = value; } onChanged(); } else { eventBuilder_.mergeFrom(value); } bitField0_ |= 0x00000004; return this; } /**
public Builder mergeFrom(com.openxc.BinaryMessages.DynamicField other) { if (other == com.openxc.BinaryMessages.DynamicField.getDefaultInstance()) return this; if (other.hasType()) { setType(other.getType()); } if (other.hasStringValue()) { bitField0_ |= 0x00000002; stringValue_ = other.stringValue_; onChanged(); } if (other.hasNumericValue()) { setNumericValue(other.getNumericValue()); } if (other.hasBooleanValue()) { setBooleanValue(other.getBooleanValue()); } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; }
/** * <code>optional .openxc.DynamicField value = 2;</code> */ public Builder mergeValue(com.openxc.BinaryMessages.DynamicField value) { if (valueBuilder_ == null) { if (((bitField0_ & 0x00000002) == 0x00000002) && value_ != null && value_ != com.openxc.BinaryMessages.DynamicField.getDefaultInstance()) { value_ = com.openxc.BinaryMessages.DynamicField.newBuilder(value_).mergeFrom(value).buildPartial(); } else { value_ = value; } onChanged(); } else { valueBuilder_.mergeFrom(value); } bitField0_ |= 0x00000002; return this; } /**
public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { com.openxc.BinaryMessages.DynamicField parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { parsedMessage = (com.openxc.BinaryMessages.DynamicField) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { mergeFrom(parsedMessage); } } return this; } private int bitField0_;
private static BinaryMessages.DynamicField.Builder buildDynamicField( Object value) { BinaryMessages.DynamicField.Builder fieldBuilder = BinaryMessages.DynamicField.newBuilder(); if(value instanceof String) { fieldBuilder.setType(BinaryMessages.DynamicField.Type.STRING); fieldBuilder.setStringValue((String)value); } else if(value instanceof Number) { fieldBuilder.setType(BinaryMessages.DynamicField.Type.NUM); fieldBuilder.setNumericValue(((Number)value).doubleValue()); } else if(value instanceof Boolean) { fieldBuilder.setType(BinaryMessages.DynamicField.Type.BOOL); fieldBuilder.setBooleanValue((Boolean) value); } return fieldBuilder; }
/** * <code>optional .openxc.DynamicField value = 2;</code> */ public Builder setValue( com.openxc.BinaryMessages.DynamicField.Builder builderForValue) { if (valueBuilder_ == null) { value_ = builderForValue.build(); onChanged(); } else { valueBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; return this; } /**
private Builder() { maybeForceBuilderInitialization(); }
public static Builder newBuilder(com.openxc.BinaryMessages.DynamicField prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } public Builder toBuilder() {
@java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /**
private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() {
public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.openxc.BinaryMessages.DynamicField) { return mergeFrom((com.openxc.BinaryMessages.DynamicField)other); } else { super.mergeFrom(other); return this; } }
public com.openxc.BinaryMessages.DynamicField build() { com.openxc.BinaryMessages.DynamicField result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; }