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 withFieldMask
.
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
FieldMaskUtil.MergeOptions
Options to customize merging behavior.
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static FieldMask
fromFieldNumbers(java.lang.Class<? extends Message> type, int... fieldNumbers)
Constructs a FieldMask from the passed field numbers.static FieldMask
fromFieldNumbers(java.lang.Class<? extends Message> type, java.lang.Iterable<java.lang.Integer> fieldNumbers)
Constructs a FieldMask from the passed field numbers.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.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.static FieldMask
fromString(java.lang.String value)
Parses from a string to a FieldMask.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.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.static FieldMask
fromStringList(java.lang.Iterable<java.lang.String> paths)
Constructs a FieldMask for a list of field paths in a certain type.static FieldMask
intersection(FieldMask mask1, FieldMask mask2)
Calculates the intersection of two FieldMasks.static boolean
isValid(java.lang.Class<? extends Message> type, FieldMask fieldMask)
Checks whether paths in a given fields mask are valid.static boolean
isValid(java.lang.Class<? extends Message> type, java.lang.String path)
Checks whether a given field path is valid.static boolean
isValid(Descriptors.Descriptor descriptor, FieldMask fieldMask)
Checks whether paths in a given fields mask are valid.static boolean
isValid(Descriptors.Descriptor descriptor, java.lang.String path)
Checks whether paths in a given fields mask are valid.static void
merge(FieldMask mask, Message source, Message.Builder destination)
Merges fields specified by a FieldMask from one message to another.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.static FieldMask
normalize(FieldMask mask)
Converts a FieldMask to its canonical form.static FieldMask
subtract(FieldMask firstMask, FieldMask secondMask, FieldMask... otherMasks)
SubtractssecondMask
andotherMasks
fromfirstMask
.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.static java.lang.String
toString(FieldMask fieldMask)
Converts a FieldMask to a string.static FieldMask
union(FieldMask firstMask, FieldMask secondMask, FieldMask... otherMasks)
Creates a union of two or more FieldMasks.
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(Descriptors.Descriptor descriptor, 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.
union
public static FieldMask union(FieldMask firstMask, FieldMask secondMask, FieldMask... otherMasks)
Creates a union of two or more FieldMasks.
subtract
public static FieldMask subtract(FieldMask firstMask, FieldMask secondMask, FieldMask... otherMasks)
SubtractssecondMask
andotherMasks
fromfirstMask
.This method disregards proto structure. That is, if
firstMask
is "foo" andsecondMask
is "foo.bar", the response will always be "foo" without considering the internal proto structure of message "foo".
intersection
public static FieldMask intersection(FieldMask mask1, FieldMask mask2)
Calculates the intersection of two FieldMasks.
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.