Lines Matching defs:value

62         internal const string AnyDiagnosticValueField = "@value";
63 internal const string AnyWellKnownTypeValueField = "value";
180 /// an <c>Any</c> message cannot be applied. Instead, a JSON property named <c>@value</c>
183 /// <para>The value returned by this method is only designed to be used for diagnostic
224 var value = accessor.GetValue(message);
225 if (!ShouldFormatFieldValue(message, field, value))
237 WriteValue(writer, value);
245 /// Determines whether or not a field value should be serialized according to the field,
246 /// its value in the message, and the settings of this formatter.
248 private bool ShouldFormatFieldValue(IMessage message, FieldDescriptor field, object value) =>
253 // not a default value anyway.
254 : settings.FormatDefaultValues || !IsDefaultValue(field, value);
303 private static bool IsDefaultValue(FieldDescriptor descriptor, object value)
307 IDictionary dictionary = (IDictionary) value;
312 IList list = (IList) value;
318 return (bool) value == false;
320 return (ByteString) value == ByteString.Empty;
322 return (string) value == "";
324 return (double) value == 0.0;
329 return (int) value == 0;
332 return (uint) value == 0;
335 return (ulong) value == 0;
339 return (long) value == 0;
341 return (float) value == 0f;
344 return value == null;
351 /// Writes a single value to the given writer as JSON. Only types understood by
356 /// <param name="writer">The writer to write the value to. Must not be null.</param>
357 /// <param name="value">The value to write. May be null.</param>
358 public void WriteValue(TextWriter writer, object value)
360 if (value == null || value is NullValue)
364 else if (value is bool)
366 writer.Write((bool)value ? "true" : "false");
368 else if (value is ByteString)
372 writer.Write(((ByteString)value).ToBase64());
375 else if (value is string)
377 WriteString(writer, (string)value);
379 else if (value is IDictionary)
381 WriteDictionary(writer, (IDictionary)value);
383 else if (value is IList)
385 WriteList(writer, (IList)value);
387 else if (value is int || value is uint)
389 IFormattable formattable = (IFormattable) value;
392 else if (value is long || value is ulong)
395 IFormattable formattable = (IFormattable) value;
399 else if (value is System.Enum)
403 WriteValue(writer, (int)value);
407 string name = OriginalEnumValueHelper.GetOriginalName(value);
414 WriteValue(writer, (int)value);
418 else if (value is float || value is double)
420 string text = ((IFormattable) value).ToString("r", CultureInfo.InvariantCulture);
432 else if (value is IMessage)
434 Format((IMessage)value, writer);
438 throw new ArgumentException("Unable to format value of type " + value.GetType());
448 private void WriteWellKnownTypeValue(TextWriter writer, MessageDescriptor descriptor, object value)
452 if (value == null)
457 // For wrapper types, the value will either be the (possibly boxed) "native" value,
459 // If it's the message form, we can extract the value first, which *will* be the (possibly boxed) native value,
464 if (value is IMessage)
466 var message = (IMessage) value;
467 value = message.Descriptor.Fields[WrappersReflection.WrapperValueFieldNumber].Accessor.GetValue(message);
469 WriteValue(writer, value);
474 WriteTimestamp(writer, (IMessage)value);
479 WriteDuration(writer, (IMessage)value);
484 WriteFieldMask(writer, (IMessage)value);
489 WriteStruct(writer, (IMessage)value);
495 WriteList(writer, (IList)fieldAccessor.GetValue((IMessage)value));
500 WriteStructFieldValue(writer, (IMessage)value);
505 WriteAny(writer, (IMessage)value);
508 WriteMessage(writer, (IMessage)value);
511 private void WriteTimestamp(TextWriter writer, IMessage value)
517 int nanos = (int) value.Descriptor.Fields[Timestamp.NanosFieldNumber].Accessor.GetValue(value);
518 long seconds = (long) value.Descriptor.Fields[Timestamp.SecondsFieldNumber].Accessor.GetValue(value);
522 private void WriteDuration(TextWriter writer, IMessage value)
525 int nanos = (int) value.Descriptor.Fields[Duration.NanosFieldNumber].Accessor.GetValue(value);
526 long seconds = (long) value.Descriptor.Fields[Duration.SecondsFieldNumber].Accessor.GetValue(value);
530 private void WriteFieldMask(TextWriter writer, IMessage value)
532 var paths = (IList<string>) value.Descriptor.Fields[FieldMask.PathsFieldNumber].Accessor.GetValue(value);
536 private void WriteAny(TextWriter writer, IMessage value)
540 WriteDiagnosticOnlyAny(writer, value);
544 string typeUrl = (string) value.Descriptor.Fields[Any.TypeUrlFieldNumber].Accessor.GetValue(value);
545 ByteString data = (ByteString) value.Descriptor.Fields[Any.ValueFieldNumber].Accessor.GetValue(value);
572 private void WriteDiagnosticOnlyAny(TextWriter writer, IMessage value)
574 string typeUrl = (string) value.Descriptor.Fields[Any.TypeUrlFieldNumber].Accessor.GetValue(value);
575 ByteString data = (ByteString) value.Descriptor.Fields[Any.ValueFieldNumber].Accessor.GetValue(value);
597 IMessage value = (IMessage) entry.Value;
598 if (string.IsNullOrEmpty(key) || value == null)
600 throw new InvalidOperationException("Struct fields cannot have an empty key or a null value.");
609 WriteStructFieldValue(writer, value);
620 throw new InvalidOperationException("Value message must contain a value for the oneof.");
623 object value = specifiedField.Accessor.GetValue(message);
630 WriteValue(writer, value);
650 foreach (var value in list)
656 WriteValue(writer, value);
802 /// should be formatted even when the value is not present, or has the default value.
882 internal static string GetOriginalName(object value)
884 var enumType = value.GetType();
897 nameMapping.TryGetValue(value, out originalName);