Class FieldMaskUtil


  • public final class FieldMaskUtil
    extends Object
    Utility helper functions to work with FieldMask.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  FieldMaskUtil.MergeOptions
      Options to customize merging behavior.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static com.google.protobuf.FieldMask fromFieldNumbers​(Class<? extends com.google.protobuf.Message> type, int... fieldNumbers)
      Constructs a FieldMask from the passed field numbers.
      static com.google.protobuf.FieldMask fromFieldNumbers​(Class<? extends com.google.protobuf.Message> type, Iterable<Integer> fieldNumbers)
      Constructs a FieldMask from the passed field numbers.
      static com.google.protobuf.FieldMask fromJsonString​(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.
      static com.google.protobuf.FieldMask fromString​(Class<? extends com.google.protobuf.Message> type, String value)
      Parses from a string to a FieldMask and validates all field paths.
      static com.google.protobuf.FieldMask fromString​(String value)
      Parses from a string to a FieldMask.
      static com.google.protobuf.FieldMask fromStringList​(com.google.protobuf.Descriptors.Descriptor descriptor, Iterable<String> paths)
      Constructs a FieldMask for a list of field paths in a certain type.
      static com.google.protobuf.FieldMask fromStringList​(Class<? extends com.google.protobuf.Message> type, Iterable<String> paths)
      Constructs a FieldMask for a list of field paths in a certain type.
      static com.google.protobuf.FieldMask fromStringList​(Iterable<String> paths)
      Constructs a FieldMask for a list of field paths in a certain type.
      static com.google.protobuf.FieldMask intersection​(com.google.protobuf.FieldMask mask1, com.google.protobuf.FieldMask mask2)
      Calculates the intersection of two FieldMasks.
      static boolean isValid​(com.google.protobuf.Descriptors.Descriptor descriptor, com.google.protobuf.FieldMask fieldMask)
      Checks whether paths in a given fields mask are valid.
      static boolean isValid​(com.google.protobuf.Descriptors.Descriptor descriptor, String path)
      Checks whether paths in a given fields mask are valid.
      static boolean isValid​(Class<? extends com.google.protobuf.Message> type, com.google.protobuf.FieldMask fieldMask)
      Checks whether paths in a given fields mask are valid.
      static boolean isValid​(Class<? extends com.google.protobuf.Message> type, String path)
      Checks whether a given field path is valid.
      static void merge​(com.google.protobuf.FieldMask mask, com.google.protobuf.Message source, com.google.protobuf.Message.Builder destination)
      Merges fields specified by a FieldMask from one message to another.
      static void merge​(com.google.protobuf.FieldMask mask, com.google.protobuf.Message source, com.google.protobuf.Message.Builder destination, FieldMaskUtil.MergeOptions options)
      Merges fields specified by a FieldMask from one message to another with the specified merge options.
      static com.google.protobuf.FieldMask normalize​(com.google.protobuf.FieldMask mask)
      Converts a FieldMask to its canonical form.
      static com.google.protobuf.FieldMask subtract​(com.google.protobuf.FieldMask firstMask, com.google.protobuf.FieldMask secondMask, com.google.protobuf.FieldMask... otherMasks)
      Subtracts secondMask and otherMasks from firstMask.
      static String toJsonString​(com.google.protobuf.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.
      static String toString​(com.google.protobuf.FieldMask fieldMask)
      Converts a FieldMask to a string.
      static <P extends com.google.protobuf.Message>
      P
      trim​(com.google.protobuf.FieldMask mask, P source)
      Returns the result of keeping only the masked fields of the given proto.
      static com.google.protobuf.FieldMask union​(com.google.protobuf.FieldMask firstMask, com.google.protobuf.FieldMask secondMask, com.google.protobuf.FieldMask... otherMasks)
      Creates a union of two or more FieldMasks.
    • Method Detail

      • toString

        public static String toString​(com.google.protobuf.FieldMask fieldMask)
        Converts a FieldMask to a string.
      • fromString

        public static com.google.protobuf.FieldMask fromString​(String value)
        Parses from a string to a FieldMask.
      • fromString

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

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

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

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

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

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

        public static String toJsonString​(com.google.protobuf.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 com.google.protobuf.FieldMask fromJsonString​(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​(Class<? extends com.google.protobuf.Message> type,
                                      com.google.protobuf.FieldMask fieldMask)
        Checks whether paths in a given fields mask are valid.
      • isValid

        public static boolean isValid​(com.google.protobuf.Descriptors.Descriptor descriptor,
                                      com.google.protobuf.FieldMask fieldMask)
        Checks whether paths in a given fields mask are valid.
      • isValid

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

        public static boolean isValid​(@Nullable
                                      com.google.protobuf.Descriptors.Descriptor descriptor,
                                      String path)
        Checks whether paths in a given fields mask are valid.
      • normalize

        public static com.google.protobuf.FieldMask normalize​(com.google.protobuf.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.
      • union

        public static com.google.protobuf.FieldMask union​(com.google.protobuf.FieldMask firstMask,
                                                          com.google.protobuf.FieldMask secondMask,
                                                          com.google.protobuf.FieldMask... otherMasks)
        Creates a union of two or more FieldMasks.
      • subtract

        public static com.google.protobuf.FieldMask subtract​(com.google.protobuf.FieldMask firstMask,
                                                             com.google.protobuf.FieldMask secondMask,
                                                             com.google.protobuf.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".

      • intersection

        public static com.google.protobuf.FieldMask intersection​(com.google.protobuf.FieldMask mask1,
                                                                 com.google.protobuf.FieldMask mask2)
        Calculates the intersection of two FieldMasks.
      • merge

        public static void merge​(com.google.protobuf.FieldMask mask,
                                 com.google.protobuf.Message source,
                                 com.google.protobuf.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​(com.google.protobuf.FieldMask mask,
                                 com.google.protobuf.Message source,
                                 com.google.protobuf.Message.Builder destination)
        Merges fields specified by a FieldMask from one message to another.
      • trim

        public static <P extends com.google.protobuf.Message> P trim​(com.google.protobuf.FieldMask mask,
                                                                     P source)
        Returns the result of keeping only the masked fields of the given proto.