diff --git a/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java b/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java index 9816ee5383ff..3f7104028761 100644 --- a/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java +++ b/java/core/src/main/java/com/google/protobuf/GeneratedMessageV3.java @@ -10,6 +10,11 @@ import com.google.protobuf.Descriptors.Descriptor; import com.google.protobuf.Descriptors.FieldDescriptor; import com.google.protobuf.Descriptors.OneofDescriptor; +import com.google.protobuf.Internal.BooleanList; +import com.google.protobuf.Internal.DoubleList; +import com.google.protobuf.Internal.FloatList; +import com.google.protobuf.Internal.IntList; +import com.google.protobuf.Internal.LongList; import java.util.List; /** @@ -36,6 +41,46 @@ protected GeneratedMessageV3(Builder builder) { super(builder); } + /* @deprecated This method is deprecated, and slated for removal in the next Java breaking change + * (5.x). Users should update gencode to >= 4.26.x which uses makeMutableCopy() instead. + */ + @Deprecated + protected static IntList mutableCopy(IntList list) { + return makeMutableCopy(list); + } + + /* @deprecated This method is deprecated, and slated for removal in the next Java breaking change + * (5.x). Users should update gencode to >= 4.26.x which uses makeMutableCopy() instead. + */ + @Deprecated + protected static LongList mutableCopy(LongList list) { + return makeMutableCopy(list); + } + + /* @deprecated This method is deprecated, and slated for removal in the next Java breaking change + * (5.x). Users should update gencode to >= 4.26.x which uses makeMutableCopy() instead. + */ + @Deprecated + protected static FloatList mutableCopy(FloatList list) { + return makeMutableCopy(list); + } + + /* @deprecated This method is deprecated, and slated for removal in the next Java breaking change + * (5.x). Users should update gencode to >= 4.26.x which uses makeMutableCopy() instead. + */ + @Deprecated + protected static DoubleList mutableCopy(DoubleList list) { + return makeMutableCopy(list); + } + + /* @deprecated This method is deprecated, and slated for removal in the next Java breaking change + * (5.x). Users should update gencode to >= 4.26.x which uses makeMutableCopy() instead. + */ + @Deprecated + protected static BooleanList mutableCopy(BooleanList list) { + return makeMutableCopy(list); + } + /* Overrides abstract GeneratedMessage.internalGetFieldAccessorTable(). * * @deprecated This method is deprecated, and slated for removal in the next Java breaking change diff --git a/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java b/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java index 509258813283..b1ee0e5c0867 100644 --- a/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java +++ b/java/util/src/main/java/com/google/protobuf/util/JsonFormat.java @@ -178,6 +178,35 @@ public Printer usingTypeRegistry(com.google.protobuf.TypeRegistry registry) { sortingMapKeys); } + /** + * Creates a new {@link Printer} that will always print fields unless they are a message type or + * in a oneof. + * + *

Note that this does print Proto2 Optional but does not print Proto3 Optional fields, as + * the latter is represented using a synthetic oneof. + * + *

The new Printer clones all other configurations from the current {@link Printer}. + * + * @deprecated This method is deprecated, and slated for removal in the next Java breaking + * change (5.x). Prefer {@link #alwaysPrintFieldsWithNoPresence} + */ + @Deprecated + public Printer includingDefaultValueFields() { + if (shouldPrintDefaults != ShouldPrintDefaults.ONLY_IF_PRESENT) { + throw new IllegalStateException( + "JsonFormat includingDefaultValueFields has already been set."); + } + return new Printer( + registry, + oldRegistry, + ShouldPrintDefaults.ALWAYS_PRINT_EXCEPT_MESSAGES_AND_ONEOFS, + ImmutableSet.of(), + preservingProtoFieldNames, + omittingInsignificantWhitespace, + printingEnumsAsInts, + sortingMapKeys); + } + /** * Creates a new {@link Printer} that will also print default-valued fields if their * FieldDescriptors are found in the supplied set. Empty repeated fields and map fields will be