Package com.google.protobuf.util
Class FieldMaskUtil
- java.lang.Object
-
- com.google.protobuf.util.FieldMaskUtil
-
public final class FieldMaskUtil extends Object
Utility helper functions to work withFieldMask.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFieldMaskUtil.MergeOptionsOptions to customize merging behavior.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.google.protobuf.FieldMaskfromFieldNumbers(Class<? extends com.google.protobuf.Message> type, int... fieldNumbers)Constructs a FieldMask from the passed field numbers.static com.google.protobuf.FieldMaskfromFieldNumbers(Class<? extends com.google.protobuf.Message> type, Iterable<Integer> fieldNumbers)Constructs a FieldMask from the passed field numbers.static com.google.protobuf.FieldMaskfromJsonString(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.FieldMaskfromString(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.FieldMaskfromString(String value)Parses from a string to a FieldMask.static com.google.protobuf.FieldMaskfromStringList(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.FieldMaskfromStringList(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.FieldMaskfromStringList(Iterable<String> paths)Constructs a FieldMask for a list of field paths in a certain type.static com.google.protobuf.FieldMaskintersection(com.google.protobuf.FieldMask mask1, com.google.protobuf.FieldMask mask2)Calculates the intersection of two FieldMasks.static booleanisValid(com.google.protobuf.Descriptors.Descriptor descriptor, com.google.protobuf.FieldMask fieldMask)Checks whether paths in a given fields mask are valid.static booleanisValid(com.google.protobuf.Descriptors.Descriptor descriptor, String path)Checks whether paths in a given fields mask are valid.static booleanisValid(Class<? extends com.google.protobuf.Message> type, com.google.protobuf.FieldMask fieldMask)Checks whether paths in a given fields mask are valid.static booleanisValid(Class<? extends com.google.protobuf.Message> type, String path)Checks whether a given field path is valid.static voidmerge(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 voidmerge(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.FieldMasknormalize(com.google.protobuf.FieldMask mask)Converts a FieldMask to its canonical form.static com.google.protobuf.FieldMasksubtract(com.google.protobuf.FieldMask firstMask, com.google.protobuf.FieldMask secondMask, com.google.protobuf.FieldMask... otherMasks)SubtractssecondMaskandotherMasksfromfirstMask.static StringtoJsonString(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 StringtoString(com.google.protobuf.FieldMask fieldMask)Converts a FieldMask to a string.static <P extends com.google.protobuf.Message>
Ptrim(com.google.protobuf.FieldMask mask, P source)Returns the result of keeping only the masked fields of the given proto.static com.google.protobuf.FieldMaskunion(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)SubtractssecondMaskandotherMasksfromfirstMask.This method disregards proto structure. That is, if
firstMaskis "foo" andsecondMaskis "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.
-
-