FieldMaskUtil
com.google.protobuf.util

Class FieldMaskUtil

  • java.lang.Object
    • com.google.protobuf.util.FieldMaskUtil


  • public final class FieldMaskUtil
    extends java.lang.Object
    Utility helper functions to work with FieldMask.
    • Method Detail

      • toString

        public static java.lang.String toString(FieldMask fieldMask)
        Converts a FieldMask to a string.
      • fromString

        public static FieldMask fromString(java.lang.String value)
        Parses from a string to a FieldMask.
      • fromString

        public static FieldMask fromString(java.lang.Class<? extends Message> type,
                                           java.lang.String value)
        Parses from a string to a FieldMask and validates all field paths.
        Throws:
        java.lang.IllegalArgumentException - if any of the field path is invalid.
      • fromStringList

        public static FieldMask fromStringList(java.lang.Class<? extends Message> type,
                                               java.lang.Iterable<java.lang.String> paths)
        Constructs a FieldMask for a list of field paths in a certain type.
        Throws:
        java.lang.IllegalArgumentException - if any of the field path is not valid.
      • fromStringList

        public static FieldMask fromStringList(Descriptors.Descriptor descriptor,
                                               java.lang.Iterable<java.lang.String> paths)
        Constructs a FieldMask for a list of field paths in a certain type.
        Throws:
        java.lang.IllegalArgumentException - if any of the field path is not valid.
      • fromStringList

        public static FieldMask fromStringList(java.lang.Iterable<java.lang.String> paths)
        Constructs a FieldMask for a list of field paths in a certain type. Does not validate the given paths.
      • fromFieldNumbers

        public static FieldMask fromFieldNumbers(java.lang.Class<? extends Message> type,
                                                 int... fieldNumbers)
        Constructs a FieldMask from the passed field numbers.
        Throws:
        java.lang.IllegalArgumentException - if any of the fields are invalid for the message.
      • fromFieldNumbers

        public static FieldMask fromFieldNumbers(java.lang.Class<? extends Message> type,
                                                 java.lang.Iterable<java.lang.Integer> fieldNumbers)
        Constructs a FieldMask from the passed field numbers.
        Throws:
        java.lang.IllegalArgumentException - if any of the fields are invalid for the message.
      • toJsonString

        public static java.lang.String toJsonString(FieldMask fieldMask)
        Converts a field mask to a Proto3 JSON string, that is converting from snake case to camel case and joining all paths into one string with commas.
      • fromJsonString

        public static FieldMask fromJsonString(java.lang.String value)
        Converts a field mask from a Proto3 JSON string, that is splitting the paths along commas and converting from camel case to snake case.
      • isValid

        public static boolean isValid(java.lang.Class<? extends Message> type,
                                      FieldMask fieldMask)
        Checks whether paths in a given fields mask are valid.
      • isValid

        public static boolean isValid(java.lang.Class<? extends Message> type,
                                      java.lang.String path)
        Checks whether a given field path is valid.
      • isValid

        public static boolean isValid(Descriptors.Descriptor descriptor,
                                      java.lang.String path)
        Checks whether paths in a given fields mask are valid.
      • normalize

        public static FieldMask normalize(FieldMask mask)
        Converts a FieldMask to its canonical form. In the canonical form of a FieldMask, all field paths are sorted alphabetically and redundant field paths are removed.
      • subtract

        public static FieldMask subtract(FieldMask firstMask,
                                         FieldMask secondMask,
                                         FieldMask... otherMasks)
        Subtracts secondMask and otherMasks from firstMask.

        This method disregards proto structure. That is, if firstMask is "foo" and secondMask is "foo.bar", the response will always be "foo" without considering the internal proto structure of message "foo".

      • merge

        public static void merge(FieldMask mask,
                                 Message source,
                                 Message.Builder destination,
                                 FieldMaskUtil.MergeOptions options)
        Merges fields specified by a FieldMask from one message to another with the specified merge options. The destination will remain unchanged if an empty FieldMask is provided.
      • merge

        public static void merge(FieldMask mask,
                                 Message source,
                                 Message.Builder destination)
        Merges fields specified by a FieldMask from one message to another.