All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.apps.card.v1.Card Maven / Gradle / Ivy

There is a newer version: 2.49.0
Show newest version
/*
 * Copyright 2024 Google LLC
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/apps/card/v1/card.proto

// Protobuf Java Version: 3.25.5
package com.google.apps.card.v1;

/**
 *
 *
 * 
 * A card interface displayed in a Google Chat message or Google Workspace
 * Add-on.
 *
 * Cards support a defined layout, interactive UI elements like buttons, and
 * rich media like images. Use cards to present detailed information,
 * gather information from users, and guide users to take a next step.
 *
 * [Card builder](https://addons.gsuite.google.com/uikit/builder)
 *
 * To learn how
 * to build cards, see the following documentation:
 *
 * * For Google Chat apps, see [Design the components of a card or
 *   dialog](https://developers.google.com/workspace/chat/design-components-card-dialog).
 * * For Google Workspace Add-ons, see [Card-based
 * interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
 *
 * **Example: Card message for a Google Chat app**
 *
 * ![Example contact
 * card](https://developers.google.com/workspace/chat/images/card_api_reference.png)
 *
 * To create the sample card message in Google Chat, use the following JSON:
 *
 * ```
 * {
 *   "cardsV2": [
 *     {
 *       "cardId": "unique-card-id",
 *       "card": {
 *         "header": {
 *            "title": "Sasha",
 *            "subtitle": "Software Engineer",
 *            "imageUrl":
 *            "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
 *            "imageType": "CIRCLE",
 *            "imageAltText": "Avatar for Sasha"
 *          },
 *          "sections": [
 *            {
 *              "header": "Contact Info",
 *              "collapsible": true,
 *              "uncollapsibleWidgetsCount": 1,
 *              "widgets": [
 *                {
 *                  "decoratedText": {
 *                    "startIcon": {
 *                      "knownIcon": "EMAIL"
 *                    },
 *                    "text": "sasha@example.com"
 *                  }
 *                },
 *                {
 *                  "decoratedText": {
 *                    "startIcon": {
 *                      "knownIcon": "PERSON"
 *                    },
 *                    "text": "<font color=\"#80e27e\">Online</font>"
 *                  }
 *                },
 *                {
 *                  "decoratedText": {
 *                    "startIcon": {
 *                      "knownIcon": "PHONE"
 *                    },
 *                    "text": "+1 (555) 555-1234"
 *                  }
 *                },
 *                {
 *                  "buttonList": {
 *                    "buttons": [
 *                      {
 *                        "text": "Share",
 *                        "onClick": {
 *                         "openLink": {
 *                            "url": "https://example.com/share"
 *                          }
 *                        }
 *                      },
 *                      {
 *                        "text": "Edit",
 *                        "onClick": {
 *                          "action": {
 *                            "function": "goToView",
 *                            "parameters": [
 *                              {
 *                                "key": "viewType",
 *                                "value": "EDIT"
 *                              }
 *                            ]
 *                          }
 *                        }
 *                      }
 *                    ]
 *                  }
 *                }
 *              ]
 *            }
 *          ]
 *        }
 *     }
 *   ]
 * }
 * ```
 * 
* * Protobuf type {@code google.apps.card.v1.Card} */ public final class Card extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.apps.card.v1.Card) CardOrBuilder { private static final long serialVersionUID = 0L; // Use Card.newBuilder() to construct. private Card(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Card() { sections_ = java.util.Collections.emptyList(); sectionDividerStyle_ = 0; cardActions_ = java.util.Collections.emptyList(); name_ = ""; displayStyle_ = 0; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new Card(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto.internal_static_google_apps_card_v1_Card_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.class, com.google.apps.card.v1.Card.Builder.class); } /** * * *
   * The divider style of a card. Currently only used for dividers betweens card
   * sections.
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * Protobuf enum {@code google.apps.card.v1.Card.DividerStyle} */ public enum DividerStyle implements com.google.protobuf.ProtocolMessageEnum { /** * * *
     * Don't use. Unspecified.
     * 
* * DIVIDER_STYLE_UNSPECIFIED = 0; */ DIVIDER_STYLE_UNSPECIFIED(0), /** * * *
     * Default option. Render a solid divider between sections.
     * 
* * SOLID_DIVIDER = 1; */ SOLID_DIVIDER(1), /** * * *
     * If set, no divider is rendered between sections.
     * 
* * NO_DIVIDER = 2; */ NO_DIVIDER(2), UNRECOGNIZED(-1), ; /** * * *
     * Don't use. Unspecified.
     * 
* * DIVIDER_STYLE_UNSPECIFIED = 0; */ public static final int DIVIDER_STYLE_UNSPECIFIED_VALUE = 0; /** * * *
     * Default option. Render a solid divider between sections.
     * 
* * SOLID_DIVIDER = 1; */ public static final int SOLID_DIVIDER_VALUE = 1; /** * * *
     * If set, no divider is rendered between sections.
     * 
* * NO_DIVIDER = 2; */ public static final int NO_DIVIDER_VALUE = 2; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static DividerStyle valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static DividerStyle forNumber(int value) { switch (value) { case 0: return DIVIDER_STYLE_UNSPECIFIED; case 1: return SOLID_DIVIDER; case 2: return NO_DIVIDER; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public DividerStyle findValueByNumber(int number) { return DividerStyle.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.apps.card.v1.Card.getDescriptor().getEnumTypes().get(0); } private static final DividerStyle[] VALUES = values(); public static DividerStyle valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private DividerStyle(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:google.apps.card.v1.Card.DividerStyle) } /** * * *
   * In Google Workspace Add-ons,
   * determines how a card is displayed.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * Protobuf enum {@code google.apps.card.v1.Card.DisplayStyle} */ public enum DisplayStyle implements com.google.protobuf.ProtocolMessageEnum { /** * * *
     * Don't use. Unspecified.
     * 
* * DISPLAY_STYLE_UNSPECIFIED = 0; */ DISPLAY_STYLE_UNSPECIFIED(0), /** * * *
     * The header of the card appears at the bottom of the
     * sidebar, partially covering the current top card of the stack. Clicking
     * the header pops the card into the card stack. If the card has no header,
     * a generated header is used instead.
     * 
* * PEEK = 1; */ PEEK(1), /** * * *
     * Default value. The card is shown by replacing the view of the top card in
     * the card stack.
     * 
* * REPLACE = 2; */ REPLACE(2), UNRECOGNIZED(-1), ; /** * * *
     * Don't use. Unspecified.
     * 
* * DISPLAY_STYLE_UNSPECIFIED = 0; */ public static final int DISPLAY_STYLE_UNSPECIFIED_VALUE = 0; /** * * *
     * The header of the card appears at the bottom of the
     * sidebar, partially covering the current top card of the stack. Clicking
     * the header pops the card into the card stack. If the card has no header,
     * a generated header is used instead.
     * 
* * PEEK = 1; */ public static final int PEEK_VALUE = 1; /** * * *
     * Default value. The card is shown by replacing the view of the top card in
     * the card stack.
     * 
* * REPLACE = 2; */ public static final int REPLACE_VALUE = 2; public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException( "Can't get the number of an unknown enum value."); } return value; } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. * @deprecated Use {@link #forNumber(int)} instead. */ @java.lang.Deprecated public static DisplayStyle valueOf(int value) { return forNumber(value); } /** * @param value The numeric wire value of the corresponding enum entry. * @return The enum associated with the given numeric wire value. */ public static DisplayStyle forNumber(int value) { switch (value) { case 0: return DISPLAY_STYLE_UNSPECIFIED; case 1: return PEEK; case 2: return REPLACE; default: return null; } } public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { return internalValueMap; } private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public DisplayStyle findValueByNumber(int number) { return DisplayStyle.forNumber(number); } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalStateException( "Can't get the descriptor of an unrecognized enum value."); } return getDescriptor().getValues().get(ordinal()); } public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { return getDescriptor(); } public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { return com.google.apps.card.v1.Card.getDescriptor().getEnumTypes().get(1); } private static final DisplayStyle[] VALUES = values(); public static DisplayStyle valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); } if (desc.getIndex() == -1) { return UNRECOGNIZED; } return VALUES[desc.getIndex()]; } private final int value; private DisplayStyle(int value) { this.value = value; } // @@protoc_insertion_point(enum_scope:google.apps.card.v1.Card.DisplayStyle) } public interface CardHeaderOrBuilder extends // @@protoc_insertion_point(interface_extends:google.apps.card.v1.Card.CardHeader) com.google.protobuf.MessageOrBuilder { /** * * *
     * Required. The title of the card header.
     * The header has a fixed height: if both a
     * title and subtitle are specified, each takes up one line. If only the
     * title is specified, it takes up both lines.
     * 
* * string title = 1; * * @return The title. */ java.lang.String getTitle(); /** * * *
     * Required. The title of the card header.
     * The header has a fixed height: if both a
     * title and subtitle are specified, each takes up one line. If only the
     * title is specified, it takes up both lines.
     * 
* * string title = 1; * * @return The bytes for title. */ com.google.protobuf.ByteString getTitleBytes(); /** * * *
     * The subtitle of the card header. If specified, appears on its own line
     * below the `title`.
     * 
* * string subtitle = 2; * * @return The subtitle. */ java.lang.String getSubtitle(); /** * * *
     * The subtitle of the card header. If specified, appears on its own line
     * below the `title`.
     * 
* * string subtitle = 2; * * @return The bytes for subtitle. */ com.google.protobuf.ByteString getSubtitleBytes(); /** * * *
     * The shape used to crop the image.
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return The enum numeric value on the wire for imageType. */ int getImageTypeValue(); /** * * *
     * The shape used to crop the image.
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return The imageType. */ com.google.apps.card.v1.Widget.ImageType getImageType(); /** * * *
     * The HTTPS URL of the image in the card header.
     * 
* * string image_url = 4; * * @return The imageUrl. */ java.lang.String getImageUrl(); /** * * *
     * The HTTPS URL of the image in the card header.
     * 
* * string image_url = 4; * * @return The bytes for imageUrl. */ com.google.protobuf.ByteString getImageUrlBytes(); /** * * *
     * The alternative text of this image that's used for accessibility.
     * 
* * string image_alt_text = 5; * * @return The imageAltText. */ java.lang.String getImageAltText(); /** * * *
     * The alternative text of this image that's used for accessibility.
     * 
* * string image_alt_text = 5; * * @return The bytes for imageAltText. */ com.google.protobuf.ByteString getImageAltTextBytes(); } /** * * *
   * Represents a card header. For an example in Google Chat apps, see [Add a
   * header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header).
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * Protobuf type {@code google.apps.card.v1.Card.CardHeader} */ public static final class CardHeader extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.apps.card.v1.Card.CardHeader) CardHeaderOrBuilder { private static final long serialVersionUID = 0L; // Use CardHeader.newBuilder() to construct. private CardHeader(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private CardHeader() { title_ = ""; subtitle_ = ""; imageType_ = 0; imageUrl_ = ""; imageAltText_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new CardHeader(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardHeader_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardHeader_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.CardHeader.class, com.google.apps.card.v1.Card.CardHeader.Builder.class); } public static final int TITLE_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object title_ = ""; /** * * *
     * Required. The title of the card header.
     * The header has a fixed height: if both a
     * title and subtitle are specified, each takes up one line. If only the
     * title is specified, it takes up both lines.
     * 
* * string title = 1; * * @return The title. */ @java.lang.Override public java.lang.String getTitle() { java.lang.Object ref = title_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); title_ = s; return s; } } /** * * *
     * Required. The title of the card header.
     * The header has a fixed height: if both a
     * title and subtitle are specified, each takes up one line. If only the
     * title is specified, it takes up both lines.
     * 
* * string title = 1; * * @return The bytes for title. */ @java.lang.Override public com.google.protobuf.ByteString getTitleBytes() { java.lang.Object ref = title_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); title_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int SUBTITLE_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object subtitle_ = ""; /** * * *
     * The subtitle of the card header. If specified, appears on its own line
     * below the `title`.
     * 
* * string subtitle = 2; * * @return The subtitle. */ @java.lang.Override public java.lang.String getSubtitle() { java.lang.Object ref = subtitle_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); subtitle_ = s; return s; } } /** * * *
     * The subtitle of the card header. If specified, appears on its own line
     * below the `title`.
     * 
* * string subtitle = 2; * * @return The bytes for subtitle. */ @java.lang.Override public com.google.protobuf.ByteString getSubtitleBytes() { java.lang.Object ref = subtitle_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); subtitle_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int IMAGE_TYPE_FIELD_NUMBER = 3; private int imageType_ = 0; /** * * *
     * The shape used to crop the image.
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return The enum numeric value on the wire for imageType. */ @java.lang.Override public int getImageTypeValue() { return imageType_; } /** * * *
     * The shape used to crop the image.
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return The imageType. */ @java.lang.Override public com.google.apps.card.v1.Widget.ImageType getImageType() { com.google.apps.card.v1.Widget.ImageType result = com.google.apps.card.v1.Widget.ImageType.forNumber(imageType_); return result == null ? com.google.apps.card.v1.Widget.ImageType.UNRECOGNIZED : result; } public static final int IMAGE_URL_FIELD_NUMBER = 4; @SuppressWarnings("serial") private volatile java.lang.Object imageUrl_ = ""; /** * * *
     * The HTTPS URL of the image in the card header.
     * 
* * string image_url = 4; * * @return The imageUrl. */ @java.lang.Override public java.lang.String getImageUrl() { java.lang.Object ref = imageUrl_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); imageUrl_ = s; return s; } } /** * * *
     * The HTTPS URL of the image in the card header.
     * 
* * string image_url = 4; * * @return The bytes for imageUrl. */ @java.lang.Override public com.google.protobuf.ByteString getImageUrlBytes() { java.lang.Object ref = imageUrl_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); imageUrl_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int IMAGE_ALT_TEXT_FIELD_NUMBER = 5; @SuppressWarnings("serial") private volatile java.lang.Object imageAltText_ = ""; /** * * *
     * The alternative text of this image that's used for accessibility.
     * 
* * string image_alt_text = 5; * * @return The imageAltText. */ @java.lang.Override public java.lang.String getImageAltText() { java.lang.Object ref = imageAltText_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); imageAltText_ = s; return s; } } /** * * *
     * The alternative text of this image that's used for accessibility.
     * 
* * string image_alt_text = 5; * * @return The bytes for imageAltText. */ @java.lang.Override public com.google.protobuf.ByteString getImageAltTextBytes() { java.lang.Object ref = imageAltText_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); imageAltText_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, title_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subtitle_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, subtitle_); } if (imageType_ != com.google.apps.card.v1.Widget.ImageType.SQUARE.getNumber()) { output.writeEnum(3, imageType_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageUrl_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, imageUrl_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageAltText_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 5, imageAltText_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, title_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(subtitle_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, subtitle_); } if (imageType_ != com.google.apps.card.v1.Widget.ImageType.SQUARE.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(3, imageType_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageUrl_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, imageUrl_); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(imageAltText_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, imageAltText_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apps.card.v1.Card.CardHeader)) { return super.equals(obj); } com.google.apps.card.v1.Card.CardHeader other = (com.google.apps.card.v1.Card.CardHeader) obj; if (!getTitle().equals(other.getTitle())) return false; if (!getSubtitle().equals(other.getSubtitle())) return false; if (imageType_ != other.imageType_) return false; if (!getImageUrl().equals(other.getImageUrl())) return false; if (!getImageAltText().equals(other.getImageAltText())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + TITLE_FIELD_NUMBER; hash = (53 * hash) + getTitle().hashCode(); hash = (37 * hash) + SUBTITLE_FIELD_NUMBER; hash = (53 * hash) + getSubtitle().hashCode(); hash = (37 * hash) + IMAGE_TYPE_FIELD_NUMBER; hash = (53 * hash) + imageType_; hash = (37 * hash) + IMAGE_URL_FIELD_NUMBER; hash = (53 * hash) + getImageUrl().hashCode(); hash = (37 * hash) + IMAGE_ALT_TEXT_FIELD_NUMBER; hash = (53 * hash) + getImageAltText().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apps.card.v1.Card.CardHeader parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardHeader parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardHeader parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.CardHeader parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardHeader parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardHeader parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apps.card.v1.Card.CardHeader prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * * *
     * Represents a card header. For an example in Google Chat apps, see [Add a
     * header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * Protobuf type {@code google.apps.card.v1.Card.CardHeader} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.apps.card.v1.Card.CardHeader) com.google.apps.card.v1.Card.CardHeaderOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardHeader_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardHeader_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.CardHeader.class, com.google.apps.card.v1.Card.CardHeader.Builder.class); } // Construct using com.google.apps.card.v1.Card.CardHeader.newBuilder() private Builder() {} private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; title_ = ""; subtitle_ = ""; imageType_ = 0; imageUrl_ = ""; imageAltText_ = ""; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardHeader_descriptor; } @java.lang.Override public com.google.apps.card.v1.Card.CardHeader getDefaultInstanceForType() { return com.google.apps.card.v1.Card.CardHeader.getDefaultInstance(); } @java.lang.Override public com.google.apps.card.v1.Card.CardHeader build() { com.google.apps.card.v1.Card.CardHeader result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apps.card.v1.Card.CardHeader buildPartial() { com.google.apps.card.v1.Card.CardHeader result = new com.google.apps.card.v1.Card.CardHeader(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apps.card.v1.Card.CardHeader result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.title_ = title_; } if (((from_bitField0_ & 0x00000002) != 0)) { result.subtitle_ = subtitle_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.imageType_ = imageType_; } if (((from_bitField0_ & 0x00000008) != 0)) { result.imageUrl_ = imageUrl_; } if (((from_bitField0_ & 0x00000010) != 0)) { result.imageAltText_ = imageAltText_; } } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apps.card.v1.Card.CardHeader) { return mergeFrom((com.google.apps.card.v1.Card.CardHeader) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apps.card.v1.Card.CardHeader other) { if (other == com.google.apps.card.v1.Card.CardHeader.getDefaultInstance()) return this; if (!other.getTitle().isEmpty()) { title_ = other.title_; bitField0_ |= 0x00000001; onChanged(); } if (!other.getSubtitle().isEmpty()) { subtitle_ = other.subtitle_; bitField0_ |= 0x00000002; onChanged(); } if (other.imageType_ != 0) { setImageTypeValue(other.getImageTypeValue()); } if (!other.getImageUrl().isEmpty()) { imageUrl_ = other.imageUrl_; bitField0_ |= 0x00000008; onChanged(); } if (!other.getImageAltText().isEmpty()) { imageAltText_ = other.imageAltText_; bitField0_ |= 0x00000010; onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { title_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { subtitle_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; break; } // case 18 case 24: { imageType_ = input.readEnum(); bitField0_ |= 0x00000004; break; } // case 24 case 34: { imageUrl_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000008; break; } // case 34 case 42: { imageAltText_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000010; break; } // case 42 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object title_ = ""; /** * * *
       * Required. The title of the card header.
       * The header has a fixed height: if both a
       * title and subtitle are specified, each takes up one line. If only the
       * title is specified, it takes up both lines.
       * 
* * string title = 1; * * @return The title. */ public java.lang.String getTitle() { java.lang.Object ref = title_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); title_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
       * Required. The title of the card header.
       * The header has a fixed height: if both a
       * title and subtitle are specified, each takes up one line. If only the
       * title is specified, it takes up both lines.
       * 
* * string title = 1; * * @return The bytes for title. */ public com.google.protobuf.ByteString getTitleBytes() { java.lang.Object ref = title_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); title_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
       * Required. The title of the card header.
       * The header has a fixed height: if both a
       * title and subtitle are specified, each takes up one line. If only the
       * title is specified, it takes up both lines.
       * 
* * string title = 1; * * @param value The title to set. * @return This builder for chaining. */ public Builder setTitle(java.lang.String value) { if (value == null) { throw new NullPointerException(); } title_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
       * Required. The title of the card header.
       * The header has a fixed height: if both a
       * title and subtitle are specified, each takes up one line. If only the
       * title is specified, it takes up both lines.
       * 
* * string title = 1; * * @return This builder for chaining. */ public Builder clearTitle() { title_ = getDefaultInstance().getTitle(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * * *
       * Required. The title of the card header.
       * The header has a fixed height: if both a
       * title and subtitle are specified, each takes up one line. If only the
       * title is specified, it takes up both lines.
       * 
* * string title = 1; * * @param value The bytes for title to set. * @return This builder for chaining. */ public Builder setTitleBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); title_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.lang.Object subtitle_ = ""; /** * * *
       * The subtitle of the card header. If specified, appears on its own line
       * below the `title`.
       * 
* * string subtitle = 2; * * @return The subtitle. */ public java.lang.String getSubtitle() { java.lang.Object ref = subtitle_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); subtitle_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
       * The subtitle of the card header. If specified, appears on its own line
       * below the `title`.
       * 
* * string subtitle = 2; * * @return The bytes for subtitle. */ public com.google.protobuf.ByteString getSubtitleBytes() { java.lang.Object ref = subtitle_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); subtitle_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
       * The subtitle of the card header. If specified, appears on its own line
       * below the `title`.
       * 
* * string subtitle = 2; * * @param value The subtitle to set. * @return This builder for chaining. */ public Builder setSubtitle(java.lang.String value) { if (value == null) { throw new NullPointerException(); } subtitle_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
       * The subtitle of the card header. If specified, appears on its own line
       * below the `title`.
       * 
* * string subtitle = 2; * * @return This builder for chaining. */ public Builder clearSubtitle() { subtitle_ = getDefaultInstance().getSubtitle(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** * * *
       * The subtitle of the card header. If specified, appears on its own line
       * below the `title`.
       * 
* * string subtitle = 2; * * @param value The bytes for subtitle to set. * @return This builder for chaining. */ public Builder setSubtitleBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); subtitle_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } private int imageType_ = 0; /** * * *
       * The shape used to crop the image.
       *
       * [Google Workspace Add-ons and Chat
       * apps](https://developers.google.com/workspace/extend):
       * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return The enum numeric value on the wire for imageType. */ @java.lang.Override public int getImageTypeValue() { return imageType_; } /** * * *
       * The shape used to crop the image.
       *
       * [Google Workspace Add-ons and Chat
       * apps](https://developers.google.com/workspace/extend):
       * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @param value The enum numeric value on the wire for imageType to set. * @return This builder for chaining. */ public Builder setImageTypeValue(int value) { imageType_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** * * *
       * The shape used to crop the image.
       *
       * [Google Workspace Add-ons and Chat
       * apps](https://developers.google.com/workspace/extend):
       * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return The imageType. */ @java.lang.Override public com.google.apps.card.v1.Widget.ImageType getImageType() { com.google.apps.card.v1.Widget.ImageType result = com.google.apps.card.v1.Widget.ImageType.forNumber(imageType_); return result == null ? com.google.apps.card.v1.Widget.ImageType.UNRECOGNIZED : result; } /** * * *
       * The shape used to crop the image.
       *
       * [Google Workspace Add-ons and Chat
       * apps](https://developers.google.com/workspace/extend):
       * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @param value The imageType to set. * @return This builder for chaining. */ public Builder setImageType(com.google.apps.card.v1.Widget.ImageType value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000004; imageType_ = value.getNumber(); onChanged(); return this; } /** * * *
       * The shape used to crop the image.
       *
       * [Google Workspace Add-ons and Chat
       * apps](https://developers.google.com/workspace/extend):
       * 
* * .google.apps.card.v1.Widget.ImageType image_type = 3; * * @return This builder for chaining. */ public Builder clearImageType() { bitField0_ = (bitField0_ & ~0x00000004); imageType_ = 0; onChanged(); return this; } private java.lang.Object imageUrl_ = ""; /** * * *
       * The HTTPS URL of the image in the card header.
       * 
* * string image_url = 4; * * @return The imageUrl. */ public java.lang.String getImageUrl() { java.lang.Object ref = imageUrl_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); imageUrl_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
       * The HTTPS URL of the image in the card header.
       * 
* * string image_url = 4; * * @return The bytes for imageUrl. */ public com.google.protobuf.ByteString getImageUrlBytes() { java.lang.Object ref = imageUrl_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); imageUrl_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
       * The HTTPS URL of the image in the card header.
       * 
* * string image_url = 4; * * @param value The imageUrl to set. * @return This builder for chaining. */ public Builder setImageUrl(java.lang.String value) { if (value == null) { throw new NullPointerException(); } imageUrl_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** * * *
       * The HTTPS URL of the image in the card header.
       * 
* * string image_url = 4; * * @return This builder for chaining. */ public Builder clearImageUrl() { imageUrl_ = getDefaultInstance().getImageUrl(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } /** * * *
       * The HTTPS URL of the image in the card header.
       * 
* * string image_url = 4; * * @param value The bytes for imageUrl to set. * @return This builder for chaining. */ public Builder setImageUrlBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); imageUrl_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } private java.lang.Object imageAltText_ = ""; /** * * *
       * The alternative text of this image that's used for accessibility.
       * 
* * string image_alt_text = 5; * * @return The imageAltText. */ public java.lang.String getImageAltText() { java.lang.Object ref = imageAltText_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); imageAltText_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
       * The alternative text of this image that's used for accessibility.
       * 
* * string image_alt_text = 5; * * @return The bytes for imageAltText. */ public com.google.protobuf.ByteString getImageAltTextBytes() { java.lang.Object ref = imageAltText_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); imageAltText_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
       * The alternative text of this image that's used for accessibility.
       * 
* * string image_alt_text = 5; * * @param value The imageAltText to set. * @return This builder for chaining. */ public Builder setImageAltText(java.lang.String value) { if (value == null) { throw new NullPointerException(); } imageAltText_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } /** * * *
       * The alternative text of this image that's used for accessibility.
       * 
* * string image_alt_text = 5; * * @return This builder for chaining. */ public Builder clearImageAltText() { imageAltText_ = getDefaultInstance().getImageAltText(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); return this; } /** * * *
       * The alternative text of this image that's used for accessibility.
       * 
* * string image_alt_text = 5; * * @param value The bytes for imageAltText to set. * @return This builder for chaining. */ public Builder setImageAltTextBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); imageAltText_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.apps.card.v1.Card.CardHeader) } // @@protoc_insertion_point(class_scope:google.apps.card.v1.Card.CardHeader) private static final com.google.apps.card.v1.Card.CardHeader DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apps.card.v1.Card.CardHeader(); } public static com.google.apps.card.v1.Card.CardHeader getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public CardHeader parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException() .setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apps.card.v1.Card.CardHeader getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface SectionOrBuilder extends // @@protoc_insertion_point(interface_extends:google.apps.card.v1.Card.Section) com.google.protobuf.MessageOrBuilder { /** * * *
     * Text that appears at the top of a section.
     * Supports simple HTML formatted text. For more information
     * about formatting text, see
     * [Formatting text in Google Chat
     * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
     * and
     * [Formatting
     * text in Google Workspace
     * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
     * 
* * string header = 1; * * @return The header. */ java.lang.String getHeader(); /** * * *
     * Text that appears at the top of a section.
     * Supports simple HTML formatted text. For more information
     * about formatting text, see
     * [Formatting text in Google Chat
     * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
     * and
     * [Formatting
     * text in Google Workspace
     * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
     * 
* * string header = 1; * * @return The bytes for header. */ com.google.protobuf.ByteString getHeaderBytes(); /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ java.util.List getWidgetsList(); /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ com.google.apps.card.v1.Widget getWidgets(int index); /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ int getWidgetsCount(); /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ java.util.List getWidgetsOrBuilderList(); /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ com.google.apps.card.v1.WidgetOrBuilder getWidgetsOrBuilder(int index); /** * * *
     * Indicates whether this section is collapsible.
     *
     * Collapsible sections hide some or all widgets, but users can expand the
     * section to reveal the hidden widgets by clicking **Show more**. Users
     * can hide the widgets again by clicking **Show less**.
     *
     * To determine which widgets are hidden, specify
     * `uncollapsibleWidgetsCount`.
     * 
* * bool collapsible = 5; * * @return The collapsible. */ boolean getCollapsible(); /** * * *
     * The number of uncollapsible widgets which remain visible even when a
     * section is collapsed.
     *
     * For example, when a section
     * contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`,
     * the first two widgets are always shown and the last three are collapsed
     * by default. The `uncollapsibleWidgetsCount` is taken into account only
     * when `collapsible` is `true`.
     * 
* * int32 uncollapsible_widgets_count = 6; * * @return The uncollapsibleWidgetsCount. */ int getUncollapsibleWidgetsCount(); } /** * * *
   * A section contains a collection of widgets that are rendered
   * vertically in the order that they're specified.
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * Protobuf type {@code google.apps.card.v1.Card.Section} */ public static final class Section extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.apps.card.v1.Card.Section) SectionOrBuilder { private static final long serialVersionUID = 0L; // Use Section.newBuilder() to construct. private Section(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Section() { header_ = ""; widgets_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new Section(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_Section_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_Section_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.Section.class, com.google.apps.card.v1.Card.Section.Builder.class); } public static final int HEADER_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object header_ = ""; /** * * *
     * Text that appears at the top of a section.
     * Supports simple HTML formatted text. For more information
     * about formatting text, see
     * [Formatting text in Google Chat
     * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
     * and
     * [Formatting
     * text in Google Workspace
     * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
     * 
* * string header = 1; * * @return The header. */ @java.lang.Override public java.lang.String getHeader() { java.lang.Object ref = header_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); header_ = s; return s; } } /** * * *
     * Text that appears at the top of a section.
     * Supports simple HTML formatted text. For more information
     * about formatting text, see
     * [Formatting text in Google Chat
     * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
     * and
     * [Formatting
     * text in Google Workspace
     * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
     * 
* * string header = 1; * * @return The bytes for header. */ @java.lang.Override public com.google.protobuf.ByteString getHeaderBytes() { java.lang.Object ref = header_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); header_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int WIDGETS_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List widgets_; /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ @java.lang.Override public java.util.List getWidgetsList() { return widgets_; } /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ @java.lang.Override public java.util.List getWidgetsOrBuilderList() { return widgets_; } /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ @java.lang.Override public int getWidgetsCount() { return widgets_.size(); } /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ @java.lang.Override public com.google.apps.card.v1.Widget getWidgets(int index) { return widgets_.get(index); } /** * * *
     * All the widgets in the section.
     * Must contain at least one widget.
     * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ @java.lang.Override public com.google.apps.card.v1.WidgetOrBuilder getWidgetsOrBuilder(int index) { return widgets_.get(index); } public static final int COLLAPSIBLE_FIELD_NUMBER = 5; private boolean collapsible_ = false; /** * * *
     * Indicates whether this section is collapsible.
     *
     * Collapsible sections hide some or all widgets, but users can expand the
     * section to reveal the hidden widgets by clicking **Show more**. Users
     * can hide the widgets again by clicking **Show less**.
     *
     * To determine which widgets are hidden, specify
     * `uncollapsibleWidgetsCount`.
     * 
* * bool collapsible = 5; * * @return The collapsible. */ @java.lang.Override public boolean getCollapsible() { return collapsible_; } public static final int UNCOLLAPSIBLE_WIDGETS_COUNT_FIELD_NUMBER = 6; private int uncollapsibleWidgetsCount_ = 0; /** * * *
     * The number of uncollapsible widgets which remain visible even when a
     * section is collapsed.
     *
     * For example, when a section
     * contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`,
     * the first two widgets are always shown and the last three are collapsed
     * by default. The `uncollapsibleWidgetsCount` is taken into account only
     * when `collapsible` is `true`.
     * 
* * int32 uncollapsible_widgets_count = 6; * * @return The uncollapsibleWidgetsCount. */ @java.lang.Override public int getUncollapsibleWidgetsCount() { return uncollapsibleWidgetsCount_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(header_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, header_); } for (int i = 0; i < widgets_.size(); i++) { output.writeMessage(2, widgets_.get(i)); } if (collapsible_ != false) { output.writeBool(5, collapsible_); } if (uncollapsibleWidgetsCount_ != 0) { output.writeInt32(6, uncollapsibleWidgetsCount_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(header_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, header_); } for (int i = 0; i < widgets_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, widgets_.get(i)); } if (collapsible_ != false) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, collapsible_); } if (uncollapsibleWidgetsCount_ != 0) { size += com.google.protobuf.CodedOutputStream.computeInt32Size(6, uncollapsibleWidgetsCount_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apps.card.v1.Card.Section)) { return super.equals(obj); } com.google.apps.card.v1.Card.Section other = (com.google.apps.card.v1.Card.Section) obj; if (!getHeader().equals(other.getHeader())) return false; if (!getWidgetsList().equals(other.getWidgetsList())) return false; if (getCollapsible() != other.getCollapsible()) return false; if (getUncollapsibleWidgetsCount() != other.getUncollapsibleWidgetsCount()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + HEADER_FIELD_NUMBER; hash = (53 * hash) + getHeader().hashCode(); if (getWidgetsCount() > 0) { hash = (37 * hash) + WIDGETS_FIELD_NUMBER; hash = (53 * hash) + getWidgetsList().hashCode(); } hash = (37 * hash) + COLLAPSIBLE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getCollapsible()); hash = (37 * hash) + UNCOLLAPSIBLE_WIDGETS_COUNT_FIELD_NUMBER; hash = (53 * hash) + getUncollapsibleWidgetsCount(); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apps.card.v1.Card.Section parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.Section parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.Section parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.Section parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.Section parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.Section parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.Section parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.Section parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.Section parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.Section parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.Section parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.Section parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apps.card.v1.Card.Section prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * * *
     * A section contains a collection of widgets that are rendered
     * vertically in the order that they're specified.
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * Protobuf type {@code google.apps.card.v1.Card.Section} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.apps.card.v1.Card.Section) com.google.apps.card.v1.Card.SectionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_Section_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_Section_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.Section.class, com.google.apps.card.v1.Card.Section.Builder.class); } // Construct using com.google.apps.card.v1.Card.Section.newBuilder() private Builder() {} private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; header_ = ""; if (widgetsBuilder_ == null) { widgets_ = java.util.Collections.emptyList(); } else { widgets_ = null; widgetsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); collapsible_ = false; uncollapsibleWidgetsCount_ = 0; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_Section_descriptor; } @java.lang.Override public com.google.apps.card.v1.Card.Section getDefaultInstanceForType() { return com.google.apps.card.v1.Card.Section.getDefaultInstance(); } @java.lang.Override public com.google.apps.card.v1.Card.Section build() { com.google.apps.card.v1.Card.Section result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apps.card.v1.Card.Section buildPartial() { com.google.apps.card.v1.Card.Section result = new com.google.apps.card.v1.Card.Section(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.apps.card.v1.Card.Section result) { if (widgetsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { widgets_ = java.util.Collections.unmodifiableList(widgets_); bitField0_ = (bitField0_ & ~0x00000002); } result.widgets_ = widgets_; } else { result.widgets_ = widgetsBuilder_.build(); } } private void buildPartial0(com.google.apps.card.v1.Card.Section result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.header_ = header_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.collapsible_ = collapsible_; } if (((from_bitField0_ & 0x00000008) != 0)) { result.uncollapsibleWidgetsCount_ = uncollapsibleWidgetsCount_; } } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apps.card.v1.Card.Section) { return mergeFrom((com.google.apps.card.v1.Card.Section) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apps.card.v1.Card.Section other) { if (other == com.google.apps.card.v1.Card.Section.getDefaultInstance()) return this; if (!other.getHeader().isEmpty()) { header_ = other.header_; bitField0_ |= 0x00000001; onChanged(); } if (widgetsBuilder_ == null) { if (!other.widgets_.isEmpty()) { if (widgets_.isEmpty()) { widgets_ = other.widgets_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureWidgetsIsMutable(); widgets_.addAll(other.widgets_); } onChanged(); } } else { if (!other.widgets_.isEmpty()) { if (widgetsBuilder_.isEmpty()) { widgetsBuilder_.dispose(); widgetsBuilder_ = null; widgets_ = other.widgets_; bitField0_ = (bitField0_ & ~0x00000002); widgetsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getWidgetsFieldBuilder() : null; } else { widgetsBuilder_.addAllMessages(other.widgets_); } } } if (other.getCollapsible() != false) { setCollapsible(other.getCollapsible()); } if (other.getUncollapsibleWidgetsCount() != 0) { setUncollapsibleWidgetsCount(other.getUncollapsibleWidgetsCount()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { header_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { com.google.apps.card.v1.Widget m = input.readMessage(com.google.apps.card.v1.Widget.parser(), extensionRegistry); if (widgetsBuilder_ == null) { ensureWidgetsIsMutable(); widgets_.add(m); } else { widgetsBuilder_.addMessage(m); } break; } // case 18 case 40: { collapsible_ = input.readBool(); bitField0_ |= 0x00000004; break; } // case 40 case 48: { uncollapsibleWidgetsCount_ = input.readInt32(); bitField0_ |= 0x00000008; break; } // case 48 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object header_ = ""; /** * * *
       * Text that appears at the top of a section.
       * Supports simple HTML formatted text. For more information
       * about formatting text, see
       * [Formatting text in Google Chat
       * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
       * and
       * [Formatting
       * text in Google Workspace
       * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
       * 
* * string header = 1; * * @return The header. */ public java.lang.String getHeader() { java.lang.Object ref = header_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); header_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
       * Text that appears at the top of a section.
       * Supports simple HTML formatted text. For more information
       * about formatting text, see
       * [Formatting text in Google Chat
       * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
       * and
       * [Formatting
       * text in Google Workspace
       * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
       * 
* * string header = 1; * * @return The bytes for header. */ public com.google.protobuf.ByteString getHeaderBytes() { java.lang.Object ref = header_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); header_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
       * Text that appears at the top of a section.
       * Supports simple HTML formatted text. For more information
       * about formatting text, see
       * [Formatting text in Google Chat
       * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
       * and
       * [Formatting
       * text in Google Workspace
       * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
       * 
* * string header = 1; * * @param value The header to set. * @return This builder for chaining. */ public Builder setHeader(java.lang.String value) { if (value == null) { throw new NullPointerException(); } header_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
       * Text that appears at the top of a section.
       * Supports simple HTML formatted text. For more information
       * about formatting text, see
       * [Formatting text in Google Chat
       * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
       * and
       * [Formatting
       * text in Google Workspace
       * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
       * 
* * string header = 1; * * @return This builder for chaining. */ public Builder clearHeader() { header_ = getDefaultInstance().getHeader(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * * *
       * Text that appears at the top of a section.
       * Supports simple HTML formatted text. For more information
       * about formatting text, see
       * [Formatting text in Google Chat
       * apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
       * and
       * [Formatting
       * text in Google Workspace
       * Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
       * 
* * string header = 1; * * @param value The bytes for header to set. * @return This builder for chaining. */ public Builder setHeaderBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); header_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private java.util.List widgets_ = java.util.Collections.emptyList(); private void ensureWidgetsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { widgets_ = new java.util.ArrayList(widgets_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Widget, com.google.apps.card.v1.Widget.Builder, com.google.apps.card.v1.WidgetOrBuilder> widgetsBuilder_; /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public java.util.List getWidgetsList() { if (widgetsBuilder_ == null) { return java.util.Collections.unmodifiableList(widgets_); } else { return widgetsBuilder_.getMessageList(); } } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public int getWidgetsCount() { if (widgetsBuilder_ == null) { return widgets_.size(); } else { return widgetsBuilder_.getCount(); } } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public com.google.apps.card.v1.Widget getWidgets(int index) { if (widgetsBuilder_ == null) { return widgets_.get(index); } else { return widgetsBuilder_.getMessage(index); } } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder setWidgets(int index, com.google.apps.card.v1.Widget value) { if (widgetsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureWidgetsIsMutable(); widgets_.set(index, value); onChanged(); } else { widgetsBuilder_.setMessage(index, value); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder setWidgets(int index, com.google.apps.card.v1.Widget.Builder builderForValue) { if (widgetsBuilder_ == null) { ensureWidgetsIsMutable(); widgets_.set(index, builderForValue.build()); onChanged(); } else { widgetsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder addWidgets(com.google.apps.card.v1.Widget value) { if (widgetsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureWidgetsIsMutable(); widgets_.add(value); onChanged(); } else { widgetsBuilder_.addMessage(value); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder addWidgets(int index, com.google.apps.card.v1.Widget value) { if (widgetsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureWidgetsIsMutable(); widgets_.add(index, value); onChanged(); } else { widgetsBuilder_.addMessage(index, value); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder addWidgets(com.google.apps.card.v1.Widget.Builder builderForValue) { if (widgetsBuilder_ == null) { ensureWidgetsIsMutable(); widgets_.add(builderForValue.build()); onChanged(); } else { widgetsBuilder_.addMessage(builderForValue.build()); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder addWidgets(int index, com.google.apps.card.v1.Widget.Builder builderForValue) { if (widgetsBuilder_ == null) { ensureWidgetsIsMutable(); widgets_.add(index, builderForValue.build()); onChanged(); } else { widgetsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder addAllWidgets( java.lang.Iterable values) { if (widgetsBuilder_ == null) { ensureWidgetsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, widgets_); onChanged(); } else { widgetsBuilder_.addAllMessages(values); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder clearWidgets() { if (widgetsBuilder_ == null) { widgets_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { widgetsBuilder_.clear(); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public Builder removeWidgets(int index) { if (widgetsBuilder_ == null) { ensureWidgetsIsMutable(); widgets_.remove(index); onChanged(); } else { widgetsBuilder_.remove(index); } return this; } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public com.google.apps.card.v1.Widget.Builder getWidgetsBuilder(int index) { return getWidgetsFieldBuilder().getBuilder(index); } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public com.google.apps.card.v1.WidgetOrBuilder getWidgetsOrBuilder(int index) { if (widgetsBuilder_ == null) { return widgets_.get(index); } else { return widgetsBuilder_.getMessageOrBuilder(index); } } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public java.util.List getWidgetsOrBuilderList() { if (widgetsBuilder_ != null) { return widgetsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(widgets_); } } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public com.google.apps.card.v1.Widget.Builder addWidgetsBuilder() { return getWidgetsFieldBuilder() .addBuilder(com.google.apps.card.v1.Widget.getDefaultInstance()); } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public com.google.apps.card.v1.Widget.Builder addWidgetsBuilder(int index) { return getWidgetsFieldBuilder() .addBuilder(index, com.google.apps.card.v1.Widget.getDefaultInstance()); } /** * * *
       * All the widgets in the section.
       * Must contain at least one widget.
       * 
* * repeated .google.apps.card.v1.Widget widgets = 2; */ public java.util.List getWidgetsBuilderList() { return getWidgetsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Widget, com.google.apps.card.v1.Widget.Builder, com.google.apps.card.v1.WidgetOrBuilder> getWidgetsFieldBuilder() { if (widgetsBuilder_ == null) { widgetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Widget, com.google.apps.card.v1.Widget.Builder, com.google.apps.card.v1.WidgetOrBuilder>( widgets_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); widgets_ = null; } return widgetsBuilder_; } private boolean collapsible_; /** * * *
       * Indicates whether this section is collapsible.
       *
       * Collapsible sections hide some or all widgets, but users can expand the
       * section to reveal the hidden widgets by clicking **Show more**. Users
       * can hide the widgets again by clicking **Show less**.
       *
       * To determine which widgets are hidden, specify
       * `uncollapsibleWidgetsCount`.
       * 
* * bool collapsible = 5; * * @return The collapsible. */ @java.lang.Override public boolean getCollapsible() { return collapsible_; } /** * * *
       * Indicates whether this section is collapsible.
       *
       * Collapsible sections hide some or all widgets, but users can expand the
       * section to reveal the hidden widgets by clicking **Show more**. Users
       * can hide the widgets again by clicking **Show less**.
       *
       * To determine which widgets are hidden, specify
       * `uncollapsibleWidgetsCount`.
       * 
* * bool collapsible = 5; * * @param value The collapsible to set. * @return This builder for chaining. */ public Builder setCollapsible(boolean value) { collapsible_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** * * *
       * Indicates whether this section is collapsible.
       *
       * Collapsible sections hide some or all widgets, but users can expand the
       * section to reveal the hidden widgets by clicking **Show more**. Users
       * can hide the widgets again by clicking **Show less**.
       *
       * To determine which widgets are hidden, specify
       * `uncollapsibleWidgetsCount`.
       * 
* * bool collapsible = 5; * * @return This builder for chaining. */ public Builder clearCollapsible() { bitField0_ = (bitField0_ & ~0x00000004); collapsible_ = false; onChanged(); return this; } private int uncollapsibleWidgetsCount_; /** * * *
       * The number of uncollapsible widgets which remain visible even when a
       * section is collapsed.
       *
       * For example, when a section
       * contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`,
       * the first two widgets are always shown and the last three are collapsed
       * by default. The `uncollapsibleWidgetsCount` is taken into account only
       * when `collapsible` is `true`.
       * 
* * int32 uncollapsible_widgets_count = 6; * * @return The uncollapsibleWidgetsCount. */ @java.lang.Override public int getUncollapsibleWidgetsCount() { return uncollapsibleWidgetsCount_; } /** * * *
       * The number of uncollapsible widgets which remain visible even when a
       * section is collapsed.
       *
       * For example, when a section
       * contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`,
       * the first two widgets are always shown and the last three are collapsed
       * by default. The `uncollapsibleWidgetsCount` is taken into account only
       * when `collapsible` is `true`.
       * 
* * int32 uncollapsible_widgets_count = 6; * * @param value The uncollapsibleWidgetsCount to set. * @return This builder for chaining. */ public Builder setUncollapsibleWidgetsCount(int value) { uncollapsibleWidgetsCount_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** * * *
       * The number of uncollapsible widgets which remain visible even when a
       * section is collapsed.
       *
       * For example, when a section
       * contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`,
       * the first two widgets are always shown and the last three are collapsed
       * by default. The `uncollapsibleWidgetsCount` is taken into account only
       * when `collapsible` is `true`.
       * 
* * int32 uncollapsible_widgets_count = 6; * * @return This builder for chaining. */ public Builder clearUncollapsibleWidgetsCount() { bitField0_ = (bitField0_ & ~0x00000008); uncollapsibleWidgetsCount_ = 0; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.apps.card.v1.Card.Section) } // @@protoc_insertion_point(class_scope:google.apps.card.v1.Card.Section) private static final com.google.apps.card.v1.Card.Section DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apps.card.v1.Card.Section(); } public static com.google.apps.card.v1.Card.Section getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser
PARSER = new com.google.protobuf.AbstractParser
() { @java.lang.Override public Section parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException() .setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser
parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser
getParserForType() { return PARSER; } @java.lang.Override public com.google.apps.card.v1.Card.Section getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface CardActionOrBuilder extends // @@protoc_insertion_point(interface_extends:google.apps.card.v1.Card.CardAction) com.google.protobuf.MessageOrBuilder { /** * * *
     * The label that displays as the action menu item.
     * 
* * string action_label = 1; * * @return The actionLabel. */ java.lang.String getActionLabel(); /** * * *
     * The label that displays as the action menu item.
     * 
* * string action_label = 1; * * @return The bytes for actionLabel. */ com.google.protobuf.ByteString getActionLabelBytes(); /** * * *
     * The `onClick` action for this action item.
     * 
* * .google.apps.card.v1.OnClick on_click = 2; * * @return Whether the onClick field is set. */ boolean hasOnClick(); /** * * *
     * The `onClick` action for this action item.
     * 
* * .google.apps.card.v1.OnClick on_click = 2; * * @return The onClick. */ com.google.apps.card.v1.OnClick getOnClick(); /** * * *
     * The `onClick` action for this action item.
     * 
* * .google.apps.card.v1.OnClick on_click = 2; */ com.google.apps.card.v1.OnClickOrBuilder getOnClickOrBuilder(); } /** * * *
   * A card action is the action associated with the card. For example,
   * an invoice card might include actions such as delete invoice, email
   * invoice, or open the invoice in a browser.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * Protobuf type {@code google.apps.card.v1.Card.CardAction} */ public static final class CardAction extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.apps.card.v1.Card.CardAction) CardActionOrBuilder { private static final long serialVersionUID = 0L; // Use CardAction.newBuilder() to construct. private CardAction(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private CardAction() { actionLabel_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new CardAction(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardAction_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.CardAction.class, com.google.apps.card.v1.Card.CardAction.Builder.class); } private int bitField0_; public static final int ACTION_LABEL_FIELD_NUMBER = 1; @SuppressWarnings("serial") private volatile java.lang.Object actionLabel_ = ""; /** * * *
     * The label that displays as the action menu item.
     * 
* * string action_label = 1; * * @return The actionLabel. */ @java.lang.Override public java.lang.String getActionLabel() { java.lang.Object ref = actionLabel_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); actionLabel_ = s; return s; } } /** * * *
     * The label that displays as the action menu item.
     * 
* * string action_label = 1; * * @return The bytes for actionLabel. */ @java.lang.Override public com.google.protobuf.ByteString getActionLabelBytes() { java.lang.Object ref = actionLabel_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); actionLabel_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int ON_CLICK_FIELD_NUMBER = 2; private com.google.apps.card.v1.OnClick onClick_; /** * * *
     * The `onClick` action for this action item.
     * 
* * .google.apps.card.v1.OnClick on_click = 2; * * @return Whether the onClick field is set. */ @java.lang.Override public boolean hasOnClick() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
     * The `onClick` action for this action item.
     * 
* * .google.apps.card.v1.OnClick on_click = 2; * * @return The onClick. */ @java.lang.Override public com.google.apps.card.v1.OnClick getOnClick() { return onClick_ == null ? com.google.apps.card.v1.OnClick.getDefaultInstance() : onClick_; } /** * * *
     * The `onClick` action for this action item.
     * 
* * .google.apps.card.v1.OnClick on_click = 2; */ @java.lang.Override public com.google.apps.card.v1.OnClickOrBuilder getOnClickOrBuilder() { return onClick_ == null ? com.google.apps.card.v1.OnClick.getDefaultInstance() : onClick_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(actionLabel_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, actionLabel_); } if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(2, getOnClick()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(actionLabel_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, actionLabel_); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getOnClick()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apps.card.v1.Card.CardAction)) { return super.equals(obj); } com.google.apps.card.v1.Card.CardAction other = (com.google.apps.card.v1.Card.CardAction) obj; if (!getActionLabel().equals(other.getActionLabel())) return false; if (hasOnClick() != other.hasOnClick()) return false; if (hasOnClick()) { if (!getOnClick().equals(other.getOnClick())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + ACTION_LABEL_FIELD_NUMBER; hash = (53 * hash) + getActionLabel().hashCode(); if (hasOnClick()) { hash = (37 * hash) + ON_CLICK_FIELD_NUMBER; hash = (53 * hash) + getOnClick().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apps.card.v1.Card.CardAction parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardAction parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardAction parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardAction parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardAction parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardAction parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardAction parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardAction parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.CardAction parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardAction parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.CardAction parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardAction parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apps.card.v1.Card.CardAction prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * * *
     * A card action is the action associated with the card. For example,
     * an invoice card might include actions such as delete invoice, email
     * invoice, or open the invoice in a browser.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * Protobuf type {@code google.apps.card.v1.Card.CardAction} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.apps.card.v1.Card.CardAction) com.google.apps.card.v1.Card.CardActionOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardAction_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardAction_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.CardAction.class, com.google.apps.card.v1.Card.CardAction.Builder.class); } // Construct using com.google.apps.card.v1.Card.CardAction.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { getOnClickFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; actionLabel_ = ""; onClick_ = null; if (onClickBuilder_ != null) { onClickBuilder_.dispose(); onClickBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardAction_descriptor; } @java.lang.Override public com.google.apps.card.v1.Card.CardAction getDefaultInstanceForType() { return com.google.apps.card.v1.Card.CardAction.getDefaultInstance(); } @java.lang.Override public com.google.apps.card.v1.Card.CardAction build() { com.google.apps.card.v1.Card.CardAction result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apps.card.v1.Card.CardAction buildPartial() { com.google.apps.card.v1.Card.CardAction result = new com.google.apps.card.v1.Card.CardAction(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apps.card.v1.Card.CardAction result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.actionLabel_ = actionLabel_; } int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000002) != 0)) { result.onClick_ = onClickBuilder_ == null ? onClick_ : onClickBuilder_.build(); to_bitField0_ |= 0x00000001; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apps.card.v1.Card.CardAction) { return mergeFrom((com.google.apps.card.v1.Card.CardAction) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apps.card.v1.Card.CardAction other) { if (other == com.google.apps.card.v1.Card.CardAction.getDefaultInstance()) return this; if (!other.getActionLabel().isEmpty()) { actionLabel_ = other.actionLabel_; bitField0_ |= 0x00000001; onChanged(); } if (other.hasOnClick()) { mergeOnClick(other.getOnClick()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { actionLabel_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000001; break; } // case 10 case 18: { input.readMessage(getOnClickFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private java.lang.Object actionLabel_ = ""; /** * * *
       * The label that displays as the action menu item.
       * 
* * string action_label = 1; * * @return The actionLabel. */ public java.lang.String getActionLabel() { java.lang.Object ref = actionLabel_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); actionLabel_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
       * The label that displays as the action menu item.
       * 
* * string action_label = 1; * * @return The bytes for actionLabel. */ public com.google.protobuf.ByteString getActionLabelBytes() { java.lang.Object ref = actionLabel_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); actionLabel_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
       * The label that displays as the action menu item.
       * 
* * string action_label = 1; * * @param value The actionLabel to set. * @return This builder for chaining. */ public Builder setActionLabel(java.lang.String value) { if (value == null) { throw new NullPointerException(); } actionLabel_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
       * The label that displays as the action menu item.
       * 
* * string action_label = 1; * * @return This builder for chaining. */ public Builder clearActionLabel() { actionLabel_ = getDefaultInstance().getActionLabel(); bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } /** * * *
       * The label that displays as the action menu item.
       * 
* * string action_label = 1; * * @param value The bytes for actionLabel to set. * @return This builder for chaining. */ public Builder setActionLabelBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); actionLabel_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } private com.google.apps.card.v1.OnClick onClick_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.OnClick, com.google.apps.card.v1.OnClick.Builder, com.google.apps.card.v1.OnClickOrBuilder> onClickBuilder_; /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; * * @return Whether the onClick field is set. */ public boolean hasOnClick() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; * * @return The onClick. */ public com.google.apps.card.v1.OnClick getOnClick() { if (onClickBuilder_ == null) { return onClick_ == null ? com.google.apps.card.v1.OnClick.getDefaultInstance() : onClick_; } else { return onClickBuilder_.getMessage(); } } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ public Builder setOnClick(com.google.apps.card.v1.OnClick value) { if (onClickBuilder_ == null) { if (value == null) { throw new NullPointerException(); } onClick_ = value; } else { onClickBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ public Builder setOnClick(com.google.apps.card.v1.OnClick.Builder builderForValue) { if (onClickBuilder_ == null) { onClick_ = builderForValue.build(); } else { onClickBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ public Builder mergeOnClick(com.google.apps.card.v1.OnClick value) { if (onClickBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && onClick_ != null && onClick_ != com.google.apps.card.v1.OnClick.getDefaultInstance()) { getOnClickBuilder().mergeFrom(value); } else { onClick_ = value; } } else { onClickBuilder_.mergeFrom(value); } if (onClick_ != null) { bitField0_ |= 0x00000002; onChanged(); } return this; } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ public Builder clearOnClick() { bitField0_ = (bitField0_ & ~0x00000002); onClick_ = null; if (onClickBuilder_ != null) { onClickBuilder_.dispose(); onClickBuilder_ = null; } onChanged(); return this; } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ public com.google.apps.card.v1.OnClick.Builder getOnClickBuilder() { bitField0_ |= 0x00000002; onChanged(); return getOnClickFieldBuilder().getBuilder(); } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ public com.google.apps.card.v1.OnClickOrBuilder getOnClickOrBuilder() { if (onClickBuilder_ != null) { return onClickBuilder_.getMessageOrBuilder(); } else { return onClick_ == null ? com.google.apps.card.v1.OnClick.getDefaultInstance() : onClick_; } } /** * * *
       * The `onClick` action for this action item.
       * 
* * .google.apps.card.v1.OnClick on_click = 2; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.OnClick, com.google.apps.card.v1.OnClick.Builder, com.google.apps.card.v1.OnClickOrBuilder> getOnClickFieldBuilder() { if (onClickBuilder_ == null) { onClickBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.OnClick, com.google.apps.card.v1.OnClick.Builder, com.google.apps.card.v1.OnClickOrBuilder>( getOnClick(), getParentForChildren(), isClean()); onClick_ = null; } return onClickBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.apps.card.v1.Card.CardAction) } // @@protoc_insertion_point(class_scope:google.apps.card.v1.Card.CardAction) private static final com.google.apps.card.v1.Card.CardAction DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apps.card.v1.Card.CardAction(); } public static com.google.apps.card.v1.Card.CardAction getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public CardAction parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException() .setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apps.card.v1.Card.CardAction getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } public interface CardFixedFooterOrBuilder extends // @@protoc_insertion_point(interface_extends:google.apps.card.v1.Card.CardFixedFooter) com.google.protobuf.MessageOrBuilder { /** * * *
     * The primary button of the fixed footer. The button must be a text button
     * with text and color set.
     * 
* * .google.apps.card.v1.Button primary_button = 1; * * @return Whether the primaryButton field is set. */ boolean hasPrimaryButton(); /** * * *
     * The primary button of the fixed footer. The button must be a text button
     * with text and color set.
     * 
* * .google.apps.card.v1.Button primary_button = 1; * * @return The primaryButton. */ com.google.apps.card.v1.Button getPrimaryButton(); /** * * *
     * The primary button of the fixed footer. The button must be a text button
     * with text and color set.
     * 
* * .google.apps.card.v1.Button primary_button = 1; */ com.google.apps.card.v1.ButtonOrBuilder getPrimaryButtonOrBuilder(); /** * * *
     * The secondary button of the fixed footer.  The button must be a text
     * button with text and color set.
     * If `secondaryButton` is set, you must also set `primaryButton`.
     * 
* * .google.apps.card.v1.Button secondary_button = 2; * * @return Whether the secondaryButton field is set. */ boolean hasSecondaryButton(); /** * * *
     * The secondary button of the fixed footer.  The button must be a text
     * button with text and color set.
     * If `secondaryButton` is set, you must also set `primaryButton`.
     * 
* * .google.apps.card.v1.Button secondary_button = 2; * * @return The secondaryButton. */ com.google.apps.card.v1.Button getSecondaryButton(); /** * * *
     * The secondary button of the fixed footer.  The button must be a text
     * button with text and color set.
     * If `secondaryButton` is set, you must also set `primaryButton`.
     * 
* * .google.apps.card.v1.Button secondary_button = 2; */ com.google.apps.card.v1.ButtonOrBuilder getSecondaryButtonOrBuilder(); } /** * * *
   * A persistent (sticky) footer that that appears at the bottom of the card.
   *
   * Setting `fixedFooter` without specifying a `primaryButton` or a
   * `secondaryButton` causes an error.
   *
   * For Chat apps, you can use fixed footers in
   * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
   * [card
   * messages](https://developers.google.com/workspace/chat/create-messages#create).
   * For an example in Google Chat apps, see [Add a persistent
   * footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer).
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * Protobuf type {@code google.apps.card.v1.Card.CardFixedFooter} */ public static final class CardFixedFooter extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.apps.card.v1.Card.CardFixedFooter) CardFixedFooterOrBuilder { private static final long serialVersionUID = 0L; // Use CardFixedFooter.newBuilder() to construct. private CardFixedFooter(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private CardFixedFooter() {} @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance(UnusedPrivateParameter unused) { return new CardFixedFooter(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardFixedFooter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardFixedFooter_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.CardFixedFooter.class, com.google.apps.card.v1.Card.CardFixedFooter.Builder.class); } private int bitField0_; public static final int PRIMARY_BUTTON_FIELD_NUMBER = 1; private com.google.apps.card.v1.Button primaryButton_; /** * * *
     * The primary button of the fixed footer. The button must be a text button
     * with text and color set.
     * 
* * .google.apps.card.v1.Button primary_button = 1; * * @return Whether the primaryButton field is set. */ @java.lang.Override public boolean hasPrimaryButton() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
     * The primary button of the fixed footer. The button must be a text button
     * with text and color set.
     * 
* * .google.apps.card.v1.Button primary_button = 1; * * @return The primaryButton. */ @java.lang.Override public com.google.apps.card.v1.Button getPrimaryButton() { return primaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : primaryButton_; } /** * * *
     * The primary button of the fixed footer. The button must be a text button
     * with text and color set.
     * 
* * .google.apps.card.v1.Button primary_button = 1; */ @java.lang.Override public com.google.apps.card.v1.ButtonOrBuilder getPrimaryButtonOrBuilder() { return primaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : primaryButton_; } public static final int SECONDARY_BUTTON_FIELD_NUMBER = 2; private com.google.apps.card.v1.Button secondaryButton_; /** * * *
     * The secondary button of the fixed footer.  The button must be a text
     * button with text and color set.
     * If `secondaryButton` is set, you must also set `primaryButton`.
     * 
* * .google.apps.card.v1.Button secondary_button = 2; * * @return Whether the secondaryButton field is set. */ @java.lang.Override public boolean hasSecondaryButton() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
     * The secondary button of the fixed footer.  The button must be a text
     * button with text and color set.
     * If `secondaryButton` is set, you must also set `primaryButton`.
     * 
* * .google.apps.card.v1.Button secondary_button = 2; * * @return The secondaryButton. */ @java.lang.Override public com.google.apps.card.v1.Button getSecondaryButton() { return secondaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : secondaryButton_; } /** * * *
     * The secondary button of the fixed footer.  The button must be a text
     * button with text and color set.
     * If `secondaryButton` is set, you must also set `primaryButton`.
     * 
* * .google.apps.card.v1.Button secondary_button = 2; */ @java.lang.Override public com.google.apps.card.v1.ButtonOrBuilder getSecondaryButtonOrBuilder() { return secondaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : secondaryButton_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(1, getPrimaryButton()); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(2, getSecondaryButton()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getPrimaryButton()); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSecondaryButton()); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apps.card.v1.Card.CardFixedFooter)) { return super.equals(obj); } com.google.apps.card.v1.Card.CardFixedFooter other = (com.google.apps.card.v1.Card.CardFixedFooter) obj; if (hasPrimaryButton() != other.hasPrimaryButton()) return false; if (hasPrimaryButton()) { if (!getPrimaryButton().equals(other.getPrimaryButton())) return false; } if (hasSecondaryButton() != other.hasSecondaryButton()) return false; if (hasSecondaryButton()) { if (!getSecondaryButton().equals(other.getSecondaryButton())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasPrimaryButton()) { hash = (37 * hash) + PRIMARY_BUTTON_FIELD_NUMBER; hash = (53 * hash) + getPrimaryButton().hashCode(); } if (hasSecondaryButton()) { hash = (37 * hash) + SECONDARY_BUTTON_FIELD_NUMBER; hash = (53 * hash) + getSecondaryButton().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.CardFixedFooter parseDelimitedFrom( java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardFixedFooter parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card.CardFixedFooter parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apps.card.v1.Card.CardFixedFooter prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * * *
     * A persistent (sticky) footer that that appears at the bottom of the card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error.
     *
     * For Chat apps, you can use fixed footers in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     * For an example in Google Chat apps, see [Add a persistent
     * footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * Protobuf type {@code google.apps.card.v1.Card.CardFixedFooter} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.apps.card.v1.Card.CardFixedFooter) com.google.apps.card.v1.Card.CardFixedFooterOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardFixedFooter_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardFixedFooter_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.CardFixedFooter.class, com.google.apps.card.v1.Card.CardFixedFooter.Builder.class); } // Construct using com.google.apps.card.v1.Card.CardFixedFooter.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { getPrimaryButtonFieldBuilder(); getSecondaryButtonFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; primaryButton_ = null; if (primaryButtonBuilder_ != null) { primaryButtonBuilder_.dispose(); primaryButtonBuilder_ = null; } secondaryButton_ = null; if (secondaryButtonBuilder_ != null) { secondaryButtonBuilder_.dispose(); secondaryButtonBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_CardFixedFooter_descriptor; } @java.lang.Override public com.google.apps.card.v1.Card.CardFixedFooter getDefaultInstanceForType() { return com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance(); } @java.lang.Override public com.google.apps.card.v1.Card.CardFixedFooter build() { com.google.apps.card.v1.Card.CardFixedFooter result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apps.card.v1.Card.CardFixedFooter buildPartial() { com.google.apps.card.v1.Card.CardFixedFooter result = new com.google.apps.card.v1.Card.CardFixedFooter(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.google.apps.card.v1.Card.CardFixedFooter result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.primaryButton_ = primaryButtonBuilder_ == null ? primaryButton_ : primaryButtonBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.secondaryButton_ = secondaryButtonBuilder_ == null ? secondaryButton_ : secondaryButtonBuilder_.build(); to_bitField0_ |= 0x00000002; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apps.card.v1.Card.CardFixedFooter) { return mergeFrom((com.google.apps.card.v1.Card.CardFixedFooter) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apps.card.v1.Card.CardFixedFooter other) { if (other == com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance()) return this; if (other.hasPrimaryButton()) { mergePrimaryButton(other.getPrimaryButton()); } if (other.hasSecondaryButton()) { mergeSecondaryButton(other.getSecondaryButton()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage(getPrimaryButtonFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 10 case 18: { input.readMessage( getSecondaryButtonFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 18 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private com.google.apps.card.v1.Button primaryButton_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Button, com.google.apps.card.v1.Button.Builder, com.google.apps.card.v1.ButtonOrBuilder> primaryButtonBuilder_; /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; * * @return Whether the primaryButton field is set. */ public boolean hasPrimaryButton() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; * * @return The primaryButton. */ public com.google.apps.card.v1.Button getPrimaryButton() { if (primaryButtonBuilder_ == null) { return primaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : primaryButton_; } else { return primaryButtonBuilder_.getMessage(); } } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ public Builder setPrimaryButton(com.google.apps.card.v1.Button value) { if (primaryButtonBuilder_ == null) { if (value == null) { throw new NullPointerException(); } primaryButton_ = value; } else { primaryButtonBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ public Builder setPrimaryButton(com.google.apps.card.v1.Button.Builder builderForValue) { if (primaryButtonBuilder_ == null) { primaryButton_ = builderForValue.build(); } else { primaryButtonBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ public Builder mergePrimaryButton(com.google.apps.card.v1.Button value) { if (primaryButtonBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && primaryButton_ != null && primaryButton_ != com.google.apps.card.v1.Button.getDefaultInstance()) { getPrimaryButtonBuilder().mergeFrom(value); } else { primaryButton_ = value; } } else { primaryButtonBuilder_.mergeFrom(value); } if (primaryButton_ != null) { bitField0_ |= 0x00000001; onChanged(); } return this; } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ public Builder clearPrimaryButton() { bitField0_ = (bitField0_ & ~0x00000001); primaryButton_ = null; if (primaryButtonBuilder_ != null) { primaryButtonBuilder_.dispose(); primaryButtonBuilder_ = null; } onChanged(); return this; } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ public com.google.apps.card.v1.Button.Builder getPrimaryButtonBuilder() { bitField0_ |= 0x00000001; onChanged(); return getPrimaryButtonFieldBuilder().getBuilder(); } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ public com.google.apps.card.v1.ButtonOrBuilder getPrimaryButtonOrBuilder() { if (primaryButtonBuilder_ != null) { return primaryButtonBuilder_.getMessageOrBuilder(); } else { return primaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : primaryButton_; } } /** * * *
       * The primary button of the fixed footer. The button must be a text button
       * with text and color set.
       * 
* * .google.apps.card.v1.Button primary_button = 1; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Button, com.google.apps.card.v1.Button.Builder, com.google.apps.card.v1.ButtonOrBuilder> getPrimaryButtonFieldBuilder() { if (primaryButtonBuilder_ == null) { primaryButtonBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Button, com.google.apps.card.v1.Button.Builder, com.google.apps.card.v1.ButtonOrBuilder>( getPrimaryButton(), getParentForChildren(), isClean()); primaryButton_ = null; } return primaryButtonBuilder_; } private com.google.apps.card.v1.Button secondaryButton_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Button, com.google.apps.card.v1.Button.Builder, com.google.apps.card.v1.ButtonOrBuilder> secondaryButtonBuilder_; /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; * * @return Whether the secondaryButton field is set. */ public boolean hasSecondaryButton() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; * * @return The secondaryButton. */ public com.google.apps.card.v1.Button getSecondaryButton() { if (secondaryButtonBuilder_ == null) { return secondaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : secondaryButton_; } else { return secondaryButtonBuilder_.getMessage(); } } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ public Builder setSecondaryButton(com.google.apps.card.v1.Button value) { if (secondaryButtonBuilder_ == null) { if (value == null) { throw new NullPointerException(); } secondaryButton_ = value; } else { secondaryButtonBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ public Builder setSecondaryButton(com.google.apps.card.v1.Button.Builder builderForValue) { if (secondaryButtonBuilder_ == null) { secondaryButton_ = builderForValue.build(); } else { secondaryButtonBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ public Builder mergeSecondaryButton(com.google.apps.card.v1.Button value) { if (secondaryButtonBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && secondaryButton_ != null && secondaryButton_ != com.google.apps.card.v1.Button.getDefaultInstance()) { getSecondaryButtonBuilder().mergeFrom(value); } else { secondaryButton_ = value; } } else { secondaryButtonBuilder_.mergeFrom(value); } if (secondaryButton_ != null) { bitField0_ |= 0x00000002; onChanged(); } return this; } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ public Builder clearSecondaryButton() { bitField0_ = (bitField0_ & ~0x00000002); secondaryButton_ = null; if (secondaryButtonBuilder_ != null) { secondaryButtonBuilder_.dispose(); secondaryButtonBuilder_ = null; } onChanged(); return this; } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ public com.google.apps.card.v1.Button.Builder getSecondaryButtonBuilder() { bitField0_ |= 0x00000002; onChanged(); return getSecondaryButtonFieldBuilder().getBuilder(); } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ public com.google.apps.card.v1.ButtonOrBuilder getSecondaryButtonOrBuilder() { if (secondaryButtonBuilder_ != null) { return secondaryButtonBuilder_.getMessageOrBuilder(); } else { return secondaryButton_ == null ? com.google.apps.card.v1.Button.getDefaultInstance() : secondaryButton_; } } /** * * *
       * The secondary button of the fixed footer.  The button must be a text
       * button with text and color set.
       * If `secondaryButton` is set, you must also set `primaryButton`.
       * 
* * .google.apps.card.v1.Button secondary_button = 2; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Button, com.google.apps.card.v1.Button.Builder, com.google.apps.card.v1.ButtonOrBuilder> getSecondaryButtonFieldBuilder() { if (secondaryButtonBuilder_ == null) { secondaryButtonBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Button, com.google.apps.card.v1.Button.Builder, com.google.apps.card.v1.ButtonOrBuilder>( getSecondaryButton(), getParentForChildren(), isClean()); secondaryButton_ = null; } return secondaryButtonBuilder_; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.apps.card.v1.Card.CardFixedFooter) } // @@protoc_insertion_point(class_scope:google.apps.card.v1.Card.CardFixedFooter) private static final com.google.apps.card.v1.Card.CardFixedFooter DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apps.card.v1.Card.CardFixedFooter(); } public static com.google.apps.card.v1.Card.CardFixedFooter getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public CardFixedFooter parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException() .setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apps.card.v1.Card.CardFixedFooter getDefaultInstanceForType() { return DEFAULT_INSTANCE; } } private int bitField0_; public static final int HEADER_FIELD_NUMBER = 1; private com.google.apps.card.v1.Card.CardHeader header_; /** * * *
   * The header of the card. A header usually contains a leading image and a
   * title. Headers always appear at the top of a card.
   * 
* * .google.apps.card.v1.Card.CardHeader header = 1; * * @return Whether the header field is set. */ @java.lang.Override public boolean hasHeader() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
   * The header of the card. A header usually contains a leading image and a
   * title. Headers always appear at the top of a card.
   * 
* * .google.apps.card.v1.Card.CardHeader header = 1; * * @return The header. */ @java.lang.Override public com.google.apps.card.v1.Card.CardHeader getHeader() { return header_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : header_; } /** * * *
   * The header of the card. A header usually contains a leading image and a
   * title. Headers always appear at the top of a card.
   * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ @java.lang.Override public com.google.apps.card.v1.Card.CardHeaderOrBuilder getHeaderOrBuilder() { return header_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : header_; } public static final int SECTIONS_FIELD_NUMBER = 2; @SuppressWarnings("serial") private java.util.List sections_; /** * * *
   * Contains a collection of widgets. Each section has its own, optional
   * header. Sections are visually separated by a line divider. For an example
   * in Google Chat apps, see [Define a section of a
   * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
   * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ @java.lang.Override public java.util.List getSectionsList() { return sections_; } /** * * *
   * Contains a collection of widgets. Each section has its own, optional
   * header. Sections are visually separated by a line divider. For an example
   * in Google Chat apps, see [Define a section of a
   * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
   * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ @java.lang.Override public java.util.List getSectionsOrBuilderList() { return sections_; } /** * * *
   * Contains a collection of widgets. Each section has its own, optional
   * header. Sections are visually separated by a line divider. For an example
   * in Google Chat apps, see [Define a section of a
   * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
   * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ @java.lang.Override public int getSectionsCount() { return sections_.size(); } /** * * *
   * Contains a collection of widgets. Each section has its own, optional
   * header. Sections are visually separated by a line divider. For an example
   * in Google Chat apps, see [Define a section of a
   * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
   * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ @java.lang.Override public com.google.apps.card.v1.Card.Section getSections(int index) { return sections_.get(index); } /** * * *
   * Contains a collection of widgets. Each section has its own, optional
   * header. Sections are visually separated by a line divider. For an example
   * in Google Chat apps, see [Define a section of a
   * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
   * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ @java.lang.Override public com.google.apps.card.v1.Card.SectionOrBuilder getSectionsOrBuilder(int index) { return sections_.get(index); } public static final int SECTION_DIVIDER_STYLE_FIELD_NUMBER = 9; private int sectionDividerStyle_ = 0; /** * * *
   * The divider style between sections.
   * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @return The enum numeric value on the wire for sectionDividerStyle. */ @java.lang.Override public int getSectionDividerStyleValue() { return sectionDividerStyle_; } /** * * *
   * The divider style between sections.
   * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @return The sectionDividerStyle. */ @java.lang.Override public com.google.apps.card.v1.Card.DividerStyle getSectionDividerStyle() { com.google.apps.card.v1.Card.DividerStyle result = com.google.apps.card.v1.Card.DividerStyle.forNumber(sectionDividerStyle_); return result == null ? com.google.apps.card.v1.Card.DividerStyle.UNRECOGNIZED : result; } public static final int CARD_ACTIONS_FIELD_NUMBER = 3; @SuppressWarnings("serial") private java.util.List cardActions_; /** * * *
   * The card's actions. Actions are added to the card's toolbar menu.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   *
   * For example, the following JSON constructs a card action menu with
   * `Settings` and `Send Feedback` options:
   *
   * ```
   * "card_actions": [
   *   {
   *     "actionLabel": "Settings",
   *     "onClick": {
   *       "action": {
   *         "functionName": "goToView",
   *         "parameters": [
   *           {
   *             "key": "viewType",
   *             "value": "SETTING"
   *          }
   *         ],
   *         "loadIndicator": "LoadIndicator.SPINNER"
   *       }
   *     }
   *   },
   *   {
   *     "actionLabel": "Send Feedback",
   *     "onClick": {
   *       "openLink": {
   *         "url": "https://example.com/feedback"
   *       }
   *     }
   *   }
   * ]
   * ```
   * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ @java.lang.Override public java.util.List getCardActionsList() { return cardActions_; } /** * * *
   * The card's actions. Actions are added to the card's toolbar menu.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   *
   * For example, the following JSON constructs a card action menu with
   * `Settings` and `Send Feedback` options:
   *
   * ```
   * "card_actions": [
   *   {
   *     "actionLabel": "Settings",
   *     "onClick": {
   *       "action": {
   *         "functionName": "goToView",
   *         "parameters": [
   *           {
   *             "key": "viewType",
   *             "value": "SETTING"
   *          }
   *         ],
   *         "loadIndicator": "LoadIndicator.SPINNER"
   *       }
   *     }
   *   },
   *   {
   *     "actionLabel": "Send Feedback",
   *     "onClick": {
   *       "openLink": {
   *         "url": "https://example.com/feedback"
   *       }
   *     }
   *   }
   * ]
   * ```
   * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ @java.lang.Override public java.util.List getCardActionsOrBuilderList() { return cardActions_; } /** * * *
   * The card's actions. Actions are added to the card's toolbar menu.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   *
   * For example, the following JSON constructs a card action menu with
   * `Settings` and `Send Feedback` options:
   *
   * ```
   * "card_actions": [
   *   {
   *     "actionLabel": "Settings",
   *     "onClick": {
   *       "action": {
   *         "functionName": "goToView",
   *         "parameters": [
   *           {
   *             "key": "viewType",
   *             "value": "SETTING"
   *          }
   *         ],
   *         "loadIndicator": "LoadIndicator.SPINNER"
   *       }
   *     }
   *   },
   *   {
   *     "actionLabel": "Send Feedback",
   *     "onClick": {
   *       "openLink": {
   *         "url": "https://example.com/feedback"
   *       }
   *     }
   *   }
   * ]
   * ```
   * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ @java.lang.Override public int getCardActionsCount() { return cardActions_.size(); } /** * * *
   * The card's actions. Actions are added to the card's toolbar menu.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   *
   * For example, the following JSON constructs a card action menu with
   * `Settings` and `Send Feedback` options:
   *
   * ```
   * "card_actions": [
   *   {
   *     "actionLabel": "Settings",
   *     "onClick": {
   *       "action": {
   *         "functionName": "goToView",
   *         "parameters": [
   *           {
   *             "key": "viewType",
   *             "value": "SETTING"
   *          }
   *         ],
   *         "loadIndicator": "LoadIndicator.SPINNER"
   *       }
   *     }
   *   },
   *   {
   *     "actionLabel": "Send Feedback",
   *     "onClick": {
   *       "openLink": {
   *         "url": "https://example.com/feedback"
   *       }
   *     }
   *   }
   * ]
   * ```
   * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ @java.lang.Override public com.google.apps.card.v1.Card.CardAction getCardActions(int index) { return cardActions_.get(index); } /** * * *
   * The card's actions. Actions are added to the card's toolbar menu.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   *
   * For example, the following JSON constructs a card action menu with
   * `Settings` and `Send Feedback` options:
   *
   * ```
   * "card_actions": [
   *   {
   *     "actionLabel": "Settings",
   *     "onClick": {
   *       "action": {
   *         "functionName": "goToView",
   *         "parameters": [
   *           {
   *             "key": "viewType",
   *             "value": "SETTING"
   *          }
   *         ],
   *         "loadIndicator": "LoadIndicator.SPINNER"
   *       }
   *     }
   *   },
   *   {
   *     "actionLabel": "Send Feedback",
   *     "onClick": {
   *       "openLink": {
   *         "url": "https://example.com/feedback"
   *       }
   *     }
   *   }
   * ]
   * ```
   * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ @java.lang.Override public com.google.apps.card.v1.Card.CardActionOrBuilder getCardActionsOrBuilder(int index) { return cardActions_.get(index); } public static final int NAME_FIELD_NUMBER = 4; @SuppressWarnings("serial") private volatile java.lang.Object name_ = ""; /** * * *
   * Name of the card. Used as a card identifier in card navigation.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * string name = 4; * * @return The name. */ @java.lang.Override public java.lang.String getName() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } } /** * * *
   * Name of the card. Used as a card identifier in card navigation.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * string name = 4; * * @return The bytes for name. */ @java.lang.Override public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int FIXED_FOOTER_FIELD_NUMBER = 5; private com.google.apps.card.v1.Card.CardFixedFooter fixedFooter_; /** * * *
   * The fixed footer shown at the bottom of this card.
   *
   * Setting `fixedFooter` without specifying a `primaryButton` or a
   * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
   * in
   * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
   * [card
   * messages](https://developers.google.com/workspace/chat/create-messages#create).
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; * * @return Whether the fixedFooter field is set. */ @java.lang.Override public boolean hasFixedFooter() { return ((bitField0_ & 0x00000002) != 0); } /** * * *
   * The fixed footer shown at the bottom of this card.
   *
   * Setting `fixedFooter` without specifying a `primaryButton` or a
   * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
   * in
   * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
   * [card
   * messages](https://developers.google.com/workspace/chat/create-messages#create).
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; * * @return The fixedFooter. */ @java.lang.Override public com.google.apps.card.v1.Card.CardFixedFooter getFixedFooter() { return fixedFooter_ == null ? com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance() : fixedFooter_; } /** * * *
   * The fixed footer shown at the bottom of this card.
   *
   * Setting `fixedFooter` without specifying a `primaryButton` or a
   * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
   * in
   * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
   * [card
   * messages](https://developers.google.com/workspace/chat/create-messages#create).
   *
   * [Google Workspace Add-ons and Chat
   * apps](https://developers.google.com/workspace/extend):
   * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ @java.lang.Override public com.google.apps.card.v1.Card.CardFixedFooterOrBuilder getFixedFooterOrBuilder() { return fixedFooter_ == null ? com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance() : fixedFooter_; } public static final int DISPLAY_STYLE_FIELD_NUMBER = 6; private int displayStyle_ = 0; /** * * *
   * In Google Workspace Add-ons, sets the display properties of the
   * `peekCardHeader`.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @return The enum numeric value on the wire for displayStyle. */ @java.lang.Override public int getDisplayStyleValue() { return displayStyle_; } /** * * *
   * In Google Workspace Add-ons, sets the display properties of the
   * `peekCardHeader`.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @return The displayStyle. */ @java.lang.Override public com.google.apps.card.v1.Card.DisplayStyle getDisplayStyle() { com.google.apps.card.v1.Card.DisplayStyle result = com.google.apps.card.v1.Card.DisplayStyle.forNumber(displayStyle_); return result == null ? com.google.apps.card.v1.Card.DisplayStyle.UNRECOGNIZED : result; } public static final int PEEK_CARD_HEADER_FIELD_NUMBER = 7; private com.google.apps.card.v1.Card.CardHeader peekCardHeader_; /** * * *
   * When displaying contextual content, the peek card header acts as a
   * placeholder so that the user can navigate forward between the homepage
   * cards and the contextual cards.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; * * @return Whether the peekCardHeader field is set. */ @java.lang.Override public boolean hasPeekCardHeader() { return ((bitField0_ & 0x00000004) != 0); } /** * * *
   * When displaying contextual content, the peek card header acts as a
   * placeholder so that the user can navigate forward between the homepage
   * cards and the contextual cards.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; * * @return The peekCardHeader. */ @java.lang.Override public com.google.apps.card.v1.Card.CardHeader getPeekCardHeader() { return peekCardHeader_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : peekCardHeader_; } /** * * *
   * When displaying contextual content, the peek card header acts as a
   * placeholder so that the user can navigate forward between the homepage
   * cards and the contextual cards.
   *
   * [Google Workspace
   * Add-ons](https://developers.google.com/workspace/add-ons):
   * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ @java.lang.Override public com.google.apps.card.v1.Card.CardHeaderOrBuilder getPeekCardHeaderOrBuilder() { return peekCardHeader_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : peekCardHeader_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(1, getHeader()); } for (int i = 0; i < sections_.size(); i++) { output.writeMessage(2, sections_.get(i)); } for (int i = 0; i < cardActions_.size(); i++) { output.writeMessage(3, cardActions_.get(i)); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, name_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(5, getFixedFooter()); } if (displayStyle_ != com.google.apps.card.v1.Card.DisplayStyle.DISPLAY_STYLE_UNSPECIFIED.getNumber()) { output.writeEnum(6, displayStyle_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(7, getPeekCardHeader()); } if (sectionDividerStyle_ != com.google.apps.card.v1.Card.DividerStyle.DIVIDER_STYLE_UNSPECIFIED.getNumber()) { output.writeEnum(9, sectionDividerStyle_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getHeader()); } for (int i = 0; i < sections_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, sections_.get(i)); } for (int i = 0; i < cardActions_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, cardActions_.get(i)); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, name_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getFixedFooter()); } if (displayStyle_ != com.google.apps.card.v1.Card.DisplayStyle.DISPLAY_STYLE_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(6, displayStyle_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getPeekCardHeader()); } if (sectionDividerStyle_ != com.google.apps.card.v1.Card.DividerStyle.DIVIDER_STYLE_UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(9, sectionDividerStyle_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.apps.card.v1.Card)) { return super.equals(obj); } com.google.apps.card.v1.Card other = (com.google.apps.card.v1.Card) obj; if (hasHeader() != other.hasHeader()) return false; if (hasHeader()) { if (!getHeader().equals(other.getHeader())) return false; } if (!getSectionsList().equals(other.getSectionsList())) return false; if (sectionDividerStyle_ != other.sectionDividerStyle_) return false; if (!getCardActionsList().equals(other.getCardActionsList())) return false; if (!getName().equals(other.getName())) return false; if (hasFixedFooter() != other.hasFixedFooter()) return false; if (hasFixedFooter()) { if (!getFixedFooter().equals(other.getFixedFooter())) return false; } if (displayStyle_ != other.displayStyle_) return false; if (hasPeekCardHeader() != other.hasPeekCardHeader()) return false; if (hasPeekCardHeader()) { if (!getPeekCardHeader().equals(other.getPeekCardHeader())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasHeader()) { hash = (37 * hash) + HEADER_FIELD_NUMBER; hash = (53 * hash) + getHeader().hashCode(); } if (getSectionsCount() > 0) { hash = (37 * hash) + SECTIONS_FIELD_NUMBER; hash = (53 * hash) + getSectionsList().hashCode(); } hash = (37 * hash) + SECTION_DIVIDER_STYLE_FIELD_NUMBER; hash = (53 * hash) + sectionDividerStyle_; if (getCardActionsCount() > 0) { hash = (37 * hash) + CARD_ACTIONS_FIELD_NUMBER; hash = (53 * hash) + getCardActionsList().hashCode(); } hash = (37 * hash) + NAME_FIELD_NUMBER; hash = (53 * hash) + getName().hashCode(); if (hasFixedFooter()) { hash = (37 * hash) + FIXED_FOOTER_FIELD_NUMBER; hash = (53 * hash) + getFixedFooter().hashCode(); } hash = (37 * hash) + DISPLAY_STYLE_FIELD_NUMBER; hash = (53 * hash) + displayStyle_; if (hasPeekCardHeader()) { hash = (37 * hash) + PEEK_CARD_HEADER_FIELD_NUMBER; hash = (53 * hash) + getPeekCardHeader().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.apps.card.v1.Card parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.apps.card.v1.Card parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.apps.card.v1.Card parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( PARSER, input, extensionRegistry); } public static com.google.apps.card.v1.Card parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); } public static com.google.apps.card.v1.Card parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3.parseWithIOException( PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.apps.card.v1.Card prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** * * *
   * A card interface displayed in a Google Chat message or Google Workspace
   * Add-on.
   *
   * Cards support a defined layout, interactive UI elements like buttons, and
   * rich media like images. Use cards to present detailed information,
   * gather information from users, and guide users to take a next step.
   *
   * [Card builder](https://addons.gsuite.google.com/uikit/builder)
   *
   * To learn how
   * to build cards, see the following documentation:
   *
   * * For Google Chat apps, see [Design the components of a card or
   *   dialog](https://developers.google.com/workspace/chat/design-components-card-dialog).
   * * For Google Workspace Add-ons, see [Card-based
   * interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
   *
   * **Example: Card message for a Google Chat app**
   *
   * ![Example contact
   * card](https://developers.google.com/workspace/chat/images/card_api_reference.png)
   *
   * To create the sample card message in Google Chat, use the following JSON:
   *
   * ```
   * {
   *   "cardsV2": [
   *     {
   *       "cardId": "unique-card-id",
   *       "card": {
   *         "header": {
   *            "title": "Sasha",
   *            "subtitle": "Software Engineer",
   *            "imageUrl":
   *            "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
   *            "imageType": "CIRCLE",
   *            "imageAltText": "Avatar for Sasha"
   *          },
   *          "sections": [
   *            {
   *              "header": "Contact Info",
   *              "collapsible": true,
   *              "uncollapsibleWidgetsCount": 1,
   *              "widgets": [
   *                {
   *                  "decoratedText": {
   *                    "startIcon": {
   *                      "knownIcon": "EMAIL"
   *                    },
   *                    "text": "sasha@example.com"
   *                  }
   *                },
   *                {
   *                  "decoratedText": {
   *                    "startIcon": {
   *                      "knownIcon": "PERSON"
   *                    },
   *                    "text": "<font color=\"#80e27e\">Online</font>"
   *                  }
   *                },
   *                {
   *                  "decoratedText": {
   *                    "startIcon": {
   *                      "knownIcon": "PHONE"
   *                    },
   *                    "text": "+1 (555) 555-1234"
   *                  }
   *                },
   *                {
   *                  "buttonList": {
   *                    "buttons": [
   *                      {
   *                        "text": "Share",
   *                        "onClick": {
   *                         "openLink": {
   *                            "url": "https://example.com/share"
   *                          }
   *                        }
   *                      },
   *                      {
   *                        "text": "Edit",
   *                        "onClick": {
   *                          "action": {
   *                            "function": "goToView",
   *                            "parameters": [
   *                              {
   *                                "key": "viewType",
   *                                "value": "EDIT"
   *                              }
   *                            ]
   *                          }
   *                        }
   *                      }
   *                    ]
   *                  }
   *                }
   *              ]
   *            }
   *          ]
   *        }
   *     }
   *   ]
   * }
   * ```
   * 
* * Protobuf type {@code google.apps.card.v1.Card} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.apps.card.v1.Card) com.google.apps.card.v1.CardOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.apps.card.v1.CardProto.internal_static_google_apps_card_v1_Card_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.apps.card.v1.CardProto .internal_static_google_apps_card_v1_Card_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.apps.card.v1.Card.class, com.google.apps.card.v1.Card.Builder.class); } // Construct using com.google.apps.card.v1.Card.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { getHeaderFieldBuilder(); getSectionsFieldBuilder(); getCardActionsFieldBuilder(); getFixedFooterFieldBuilder(); getPeekCardHeaderFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; header_ = null; if (headerBuilder_ != null) { headerBuilder_.dispose(); headerBuilder_ = null; } if (sectionsBuilder_ == null) { sections_ = java.util.Collections.emptyList(); } else { sections_ = null; sectionsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000002); sectionDividerStyle_ = 0; if (cardActionsBuilder_ == null) { cardActions_ = java.util.Collections.emptyList(); } else { cardActions_ = null; cardActionsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); name_ = ""; fixedFooter_ = null; if (fixedFooterBuilder_ != null) { fixedFooterBuilder_.dispose(); fixedFooterBuilder_ = null; } displayStyle_ = 0; peekCardHeader_ = null; if (peekCardHeaderBuilder_ != null) { peekCardHeaderBuilder_.dispose(); peekCardHeaderBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.apps.card.v1.CardProto.internal_static_google_apps_card_v1_Card_descriptor; } @java.lang.Override public com.google.apps.card.v1.Card getDefaultInstanceForType() { return com.google.apps.card.v1.Card.getDefaultInstance(); } @java.lang.Override public com.google.apps.card.v1.Card build() { com.google.apps.card.v1.Card result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.apps.card.v1.Card buildPartial() { com.google.apps.card.v1.Card result = new com.google.apps.card.v1.Card(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.apps.card.v1.Card result) { if (sectionsBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0)) { sections_ = java.util.Collections.unmodifiableList(sections_); bitField0_ = (bitField0_ & ~0x00000002); } result.sections_ = sections_; } else { result.sections_ = sectionsBuilder_.build(); } if (cardActionsBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { cardActions_ = java.util.Collections.unmodifiableList(cardActions_); bitField0_ = (bitField0_ & ~0x00000008); } result.cardActions_ = cardActions_; } else { result.cardActions_ = cardActionsBuilder_.build(); } } private void buildPartial0(com.google.apps.card.v1.Card result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.header_ = headerBuilder_ == null ? header_ : headerBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000004) != 0)) { result.sectionDividerStyle_ = sectionDividerStyle_; } if (((from_bitField0_ & 0x00000010) != 0)) { result.name_ = name_; } if (((from_bitField0_ & 0x00000020) != 0)) { result.fixedFooter_ = fixedFooterBuilder_ == null ? fixedFooter_ : fixedFooterBuilder_.build(); to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000040) != 0)) { result.displayStyle_ = displayStyle_; } if (((from_bitField0_ & 0x00000080) != 0)) { result.peekCardHeader_ = peekCardHeaderBuilder_ == null ? peekCardHeader_ : peekCardHeaderBuilder_.build(); to_bitField0_ |= 0x00000004; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.apps.card.v1.Card) { return mergeFrom((com.google.apps.card.v1.Card) other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.apps.card.v1.Card other) { if (other == com.google.apps.card.v1.Card.getDefaultInstance()) return this; if (other.hasHeader()) { mergeHeader(other.getHeader()); } if (sectionsBuilder_ == null) { if (!other.sections_.isEmpty()) { if (sections_.isEmpty()) { sections_ = other.sections_; bitField0_ = (bitField0_ & ~0x00000002); } else { ensureSectionsIsMutable(); sections_.addAll(other.sections_); } onChanged(); } } else { if (!other.sections_.isEmpty()) { if (sectionsBuilder_.isEmpty()) { sectionsBuilder_.dispose(); sectionsBuilder_ = null; sections_ = other.sections_; bitField0_ = (bitField0_ & ~0x00000002); sectionsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSectionsFieldBuilder() : null; } else { sectionsBuilder_.addAllMessages(other.sections_); } } } if (other.sectionDividerStyle_ != 0) { setSectionDividerStyleValue(other.getSectionDividerStyleValue()); } if (cardActionsBuilder_ == null) { if (!other.cardActions_.isEmpty()) { if (cardActions_.isEmpty()) { cardActions_ = other.cardActions_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureCardActionsIsMutable(); cardActions_.addAll(other.cardActions_); } onChanged(); } } else { if (!other.cardActions_.isEmpty()) { if (cardActionsBuilder_.isEmpty()) { cardActionsBuilder_.dispose(); cardActionsBuilder_ = null; cardActions_ = other.cardActions_; bitField0_ = (bitField0_ & ~0x00000008); cardActionsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getCardActionsFieldBuilder() : null; } else { cardActionsBuilder_.addAllMessages(other.cardActions_); } } } if (!other.getName().isEmpty()) { name_ = other.name_; bitField0_ |= 0x00000010; onChanged(); } if (other.hasFixedFooter()) { mergeFixedFooter(other.getFixedFooter()); } if (other.displayStyle_ != 0) { setDisplayStyleValue(other.getDisplayStyleValue()); } if (other.hasPeekCardHeader()) { mergePeekCardHeader(other.getPeekCardHeader()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage(getHeaderFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 10 case 18: { com.google.apps.card.v1.Card.Section m = input.readMessage( com.google.apps.card.v1.Card.Section.parser(), extensionRegistry); if (sectionsBuilder_ == null) { ensureSectionsIsMutable(); sections_.add(m); } else { sectionsBuilder_.addMessage(m); } break; } // case 18 case 26: { com.google.apps.card.v1.Card.CardAction m = input.readMessage( com.google.apps.card.v1.Card.CardAction.parser(), extensionRegistry); if (cardActionsBuilder_ == null) { ensureCardActionsIsMutable(); cardActions_.add(m); } else { cardActionsBuilder_.addMessage(m); } break; } // case 26 case 34: { name_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000010; break; } // case 34 case 42: { input.readMessage(getFixedFooterFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000020; break; } // case 42 case 48: { displayStyle_ = input.readEnum(); bitField0_ |= 0x00000040; break; } // case 48 case 58: { input.readMessage(getPeekCardHeaderFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000080; break; } // case 58 case 72: { sectionDividerStyle_ = input.readEnum(); bitField0_ |= 0x00000004; break; } // case 72 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private com.google.apps.card.v1.Card.CardHeader header_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardHeader, com.google.apps.card.v1.Card.CardHeader.Builder, com.google.apps.card.v1.Card.CardHeaderOrBuilder> headerBuilder_; /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; * * @return Whether the header field is set. */ public boolean hasHeader() { return ((bitField0_ & 0x00000001) != 0); } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; * * @return The header. */ public com.google.apps.card.v1.Card.CardHeader getHeader() { if (headerBuilder_ == null) { return header_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : header_; } else { return headerBuilder_.getMessage(); } } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ public Builder setHeader(com.google.apps.card.v1.Card.CardHeader value) { if (headerBuilder_ == null) { if (value == null) { throw new NullPointerException(); } header_ = value; } else { headerBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ public Builder setHeader(com.google.apps.card.v1.Card.CardHeader.Builder builderForValue) { if (headerBuilder_ == null) { header_ = builderForValue.build(); } else { headerBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ public Builder mergeHeader(com.google.apps.card.v1.Card.CardHeader value) { if (headerBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && header_ != null && header_ != com.google.apps.card.v1.Card.CardHeader.getDefaultInstance()) { getHeaderBuilder().mergeFrom(value); } else { header_ = value; } } else { headerBuilder_.mergeFrom(value); } if (header_ != null) { bitField0_ |= 0x00000001; onChanged(); } return this; } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ public Builder clearHeader() { bitField0_ = (bitField0_ & ~0x00000001); header_ = null; if (headerBuilder_ != null) { headerBuilder_.dispose(); headerBuilder_ = null; } onChanged(); return this; } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ public com.google.apps.card.v1.Card.CardHeader.Builder getHeaderBuilder() { bitField0_ |= 0x00000001; onChanged(); return getHeaderFieldBuilder().getBuilder(); } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ public com.google.apps.card.v1.Card.CardHeaderOrBuilder getHeaderOrBuilder() { if (headerBuilder_ != null) { return headerBuilder_.getMessageOrBuilder(); } else { return header_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : header_; } } /** * * *
     * The header of the card. A header usually contains a leading image and a
     * title. Headers always appear at the top of a card.
     * 
* * .google.apps.card.v1.Card.CardHeader header = 1; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardHeader, com.google.apps.card.v1.Card.CardHeader.Builder, com.google.apps.card.v1.Card.CardHeaderOrBuilder> getHeaderFieldBuilder() { if (headerBuilder_ == null) { headerBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardHeader, com.google.apps.card.v1.Card.CardHeader.Builder, com.google.apps.card.v1.Card.CardHeaderOrBuilder>( getHeader(), getParentForChildren(), isClean()); header_ = null; } return headerBuilder_; } private java.util.List sections_ = java.util.Collections.emptyList(); private void ensureSectionsIsMutable() { if (!((bitField0_ & 0x00000002) != 0)) { sections_ = new java.util.ArrayList(sections_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Card.Section, com.google.apps.card.v1.Card.Section.Builder, com.google.apps.card.v1.Card.SectionOrBuilder> sectionsBuilder_; /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public java.util.List getSectionsList() { if (sectionsBuilder_ == null) { return java.util.Collections.unmodifiableList(sections_); } else { return sectionsBuilder_.getMessageList(); } } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public int getSectionsCount() { if (sectionsBuilder_ == null) { return sections_.size(); } else { return sectionsBuilder_.getCount(); } } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public com.google.apps.card.v1.Card.Section getSections(int index) { if (sectionsBuilder_ == null) { return sections_.get(index); } else { return sectionsBuilder_.getMessage(index); } } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder setSections(int index, com.google.apps.card.v1.Card.Section value) { if (sectionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureSectionsIsMutable(); sections_.set(index, value); onChanged(); } else { sectionsBuilder_.setMessage(index, value); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder setSections( int index, com.google.apps.card.v1.Card.Section.Builder builderForValue) { if (sectionsBuilder_ == null) { ensureSectionsIsMutable(); sections_.set(index, builderForValue.build()); onChanged(); } else { sectionsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder addSections(com.google.apps.card.v1.Card.Section value) { if (sectionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureSectionsIsMutable(); sections_.add(value); onChanged(); } else { sectionsBuilder_.addMessage(value); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder addSections(int index, com.google.apps.card.v1.Card.Section value) { if (sectionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureSectionsIsMutable(); sections_.add(index, value); onChanged(); } else { sectionsBuilder_.addMessage(index, value); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder addSections(com.google.apps.card.v1.Card.Section.Builder builderForValue) { if (sectionsBuilder_ == null) { ensureSectionsIsMutable(); sections_.add(builderForValue.build()); onChanged(); } else { sectionsBuilder_.addMessage(builderForValue.build()); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder addSections( int index, com.google.apps.card.v1.Card.Section.Builder builderForValue) { if (sectionsBuilder_ == null) { ensureSectionsIsMutable(); sections_.add(index, builderForValue.build()); onChanged(); } else { sectionsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder addAllSections( java.lang.Iterable values) { if (sectionsBuilder_ == null) { ensureSectionsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, sections_); onChanged(); } else { sectionsBuilder_.addAllMessages(values); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder clearSections() { if (sectionsBuilder_ == null) { sections_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { sectionsBuilder_.clear(); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public Builder removeSections(int index) { if (sectionsBuilder_ == null) { ensureSectionsIsMutable(); sections_.remove(index); onChanged(); } else { sectionsBuilder_.remove(index); } return this; } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public com.google.apps.card.v1.Card.Section.Builder getSectionsBuilder(int index) { return getSectionsFieldBuilder().getBuilder(index); } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public com.google.apps.card.v1.Card.SectionOrBuilder getSectionsOrBuilder(int index) { if (sectionsBuilder_ == null) { return sections_.get(index); } else { return sectionsBuilder_.getMessageOrBuilder(index); } } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public java.util.List getSectionsOrBuilderList() { if (sectionsBuilder_ != null) { return sectionsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(sections_); } } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public com.google.apps.card.v1.Card.Section.Builder addSectionsBuilder() { return getSectionsFieldBuilder() .addBuilder(com.google.apps.card.v1.Card.Section.getDefaultInstance()); } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public com.google.apps.card.v1.Card.Section.Builder addSectionsBuilder(int index) { return getSectionsFieldBuilder() .addBuilder(index, com.google.apps.card.v1.Card.Section.getDefaultInstance()); } /** * * *
     * Contains a collection of widgets. Each section has its own, optional
     * header. Sections are visually separated by a line divider. For an example
     * in Google Chat apps, see [Define a section of a
     * card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
     * 
* * repeated .google.apps.card.v1.Card.Section sections = 2; */ public java.util.List getSectionsBuilderList() { return getSectionsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Card.Section, com.google.apps.card.v1.Card.Section.Builder, com.google.apps.card.v1.Card.SectionOrBuilder> getSectionsFieldBuilder() { if (sectionsBuilder_ == null) { sectionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Card.Section, com.google.apps.card.v1.Card.Section.Builder, com.google.apps.card.v1.Card.SectionOrBuilder>( sections_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); sections_ = null; } return sectionsBuilder_; } private int sectionDividerStyle_ = 0; /** * * *
     * The divider style between sections.
     * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @return The enum numeric value on the wire for sectionDividerStyle. */ @java.lang.Override public int getSectionDividerStyleValue() { return sectionDividerStyle_; } /** * * *
     * The divider style between sections.
     * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @param value The enum numeric value on the wire for sectionDividerStyle to set. * @return This builder for chaining. */ public Builder setSectionDividerStyleValue(int value) { sectionDividerStyle_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** * * *
     * The divider style between sections.
     * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @return The sectionDividerStyle. */ @java.lang.Override public com.google.apps.card.v1.Card.DividerStyle getSectionDividerStyle() { com.google.apps.card.v1.Card.DividerStyle result = com.google.apps.card.v1.Card.DividerStyle.forNumber(sectionDividerStyle_); return result == null ? com.google.apps.card.v1.Card.DividerStyle.UNRECOGNIZED : result; } /** * * *
     * The divider style between sections.
     * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @param value The sectionDividerStyle to set. * @return This builder for chaining. */ public Builder setSectionDividerStyle(com.google.apps.card.v1.Card.DividerStyle value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000004; sectionDividerStyle_ = value.getNumber(); onChanged(); return this; } /** * * *
     * The divider style between sections.
     * 
* * .google.apps.card.v1.Card.DividerStyle section_divider_style = 9; * * @return This builder for chaining. */ public Builder clearSectionDividerStyle() { bitField0_ = (bitField0_ & ~0x00000004); sectionDividerStyle_ = 0; onChanged(); return this; } private java.util.List cardActions_ = java.util.Collections.emptyList(); private void ensureCardActionsIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { cardActions_ = new java.util.ArrayList(cardActions_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Card.CardAction, com.google.apps.card.v1.Card.CardAction.Builder, com.google.apps.card.v1.Card.CardActionOrBuilder> cardActionsBuilder_; /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public java.util.List getCardActionsList() { if (cardActionsBuilder_ == null) { return java.util.Collections.unmodifiableList(cardActions_); } else { return cardActionsBuilder_.getMessageList(); } } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public int getCardActionsCount() { if (cardActionsBuilder_ == null) { return cardActions_.size(); } else { return cardActionsBuilder_.getCount(); } } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public com.google.apps.card.v1.Card.CardAction getCardActions(int index) { if (cardActionsBuilder_ == null) { return cardActions_.get(index); } else { return cardActionsBuilder_.getMessage(index); } } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder setCardActions(int index, com.google.apps.card.v1.Card.CardAction value) { if (cardActionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureCardActionsIsMutable(); cardActions_.set(index, value); onChanged(); } else { cardActionsBuilder_.setMessage(index, value); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder setCardActions( int index, com.google.apps.card.v1.Card.CardAction.Builder builderForValue) { if (cardActionsBuilder_ == null) { ensureCardActionsIsMutable(); cardActions_.set(index, builderForValue.build()); onChanged(); } else { cardActionsBuilder_.setMessage(index, builderForValue.build()); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder addCardActions(com.google.apps.card.v1.Card.CardAction value) { if (cardActionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureCardActionsIsMutable(); cardActions_.add(value); onChanged(); } else { cardActionsBuilder_.addMessage(value); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder addCardActions(int index, com.google.apps.card.v1.Card.CardAction value) { if (cardActionsBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureCardActionsIsMutable(); cardActions_.add(index, value); onChanged(); } else { cardActionsBuilder_.addMessage(index, value); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder addCardActions(com.google.apps.card.v1.Card.CardAction.Builder builderForValue) { if (cardActionsBuilder_ == null) { ensureCardActionsIsMutable(); cardActions_.add(builderForValue.build()); onChanged(); } else { cardActionsBuilder_.addMessage(builderForValue.build()); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder addCardActions( int index, com.google.apps.card.v1.Card.CardAction.Builder builderForValue) { if (cardActionsBuilder_ == null) { ensureCardActionsIsMutable(); cardActions_.add(index, builderForValue.build()); onChanged(); } else { cardActionsBuilder_.addMessage(index, builderForValue.build()); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder addAllCardActions( java.lang.Iterable values) { if (cardActionsBuilder_ == null) { ensureCardActionsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll(values, cardActions_); onChanged(); } else { cardActionsBuilder_.addAllMessages(values); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder clearCardActions() { if (cardActionsBuilder_ == null) { cardActions_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { cardActionsBuilder_.clear(); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public Builder removeCardActions(int index) { if (cardActionsBuilder_ == null) { ensureCardActionsIsMutable(); cardActions_.remove(index); onChanged(); } else { cardActionsBuilder_.remove(index); } return this; } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public com.google.apps.card.v1.Card.CardAction.Builder getCardActionsBuilder(int index) { return getCardActionsFieldBuilder().getBuilder(index); } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public com.google.apps.card.v1.Card.CardActionOrBuilder getCardActionsOrBuilder(int index) { if (cardActionsBuilder_ == null) { return cardActions_.get(index); } else { return cardActionsBuilder_.getMessageOrBuilder(index); } } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public java.util.List getCardActionsOrBuilderList() { if (cardActionsBuilder_ != null) { return cardActionsBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(cardActions_); } } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public com.google.apps.card.v1.Card.CardAction.Builder addCardActionsBuilder() { return getCardActionsFieldBuilder() .addBuilder(com.google.apps.card.v1.Card.CardAction.getDefaultInstance()); } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public com.google.apps.card.v1.Card.CardAction.Builder addCardActionsBuilder(int index) { return getCardActionsFieldBuilder() .addBuilder(index, com.google.apps.card.v1.Card.CardAction.getDefaultInstance()); } /** * * *
     * The card's actions. Actions are added to the card's toolbar menu.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     *
     * For example, the following JSON constructs a card action menu with
     * `Settings` and `Send Feedback` options:
     *
     * ```
     * "card_actions": [
     *   {
     *     "actionLabel": "Settings",
     *     "onClick": {
     *       "action": {
     *         "functionName": "goToView",
     *         "parameters": [
     *           {
     *             "key": "viewType",
     *             "value": "SETTING"
     *          }
     *         ],
     *         "loadIndicator": "LoadIndicator.SPINNER"
     *       }
     *     }
     *   },
     *   {
     *     "actionLabel": "Send Feedback",
     *     "onClick": {
     *       "openLink": {
     *         "url": "https://example.com/feedback"
     *       }
     *     }
     *   }
     * ]
     * ```
     * 
* * repeated .google.apps.card.v1.Card.CardAction card_actions = 3; */ public java.util.List getCardActionsBuilderList() { return getCardActionsFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Card.CardAction, com.google.apps.card.v1.Card.CardAction.Builder, com.google.apps.card.v1.Card.CardActionOrBuilder> getCardActionsFieldBuilder() { if (cardActionsBuilder_ == null) { cardActionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.google.apps.card.v1.Card.CardAction, com.google.apps.card.v1.Card.CardAction.Builder, com.google.apps.card.v1.Card.CardActionOrBuilder>( cardActions_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); cardActions_ = null; } return cardActionsBuilder_; } private java.lang.Object name_ = ""; /** * * *
     * Name of the card. Used as a card identifier in card navigation.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * string name = 4; * * @return The name. */ public java.lang.String getName() { java.lang.Object ref = name_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); name_ = s; return s; } else { return (java.lang.String) ref; } } /** * * *
     * Name of the card. Used as a card identifier in card navigation.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * string name = 4; * * @return The bytes for name. */ public com.google.protobuf.ByteString getNameBytes() { java.lang.Object ref = name_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); name_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** * * *
     * Name of the card. Used as a card identifier in card navigation.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * string name = 4; * * @param value The name to set. * @return This builder for chaining. */ public Builder setName(java.lang.String value) { if (value == null) { throw new NullPointerException(); } name_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } /** * * *
     * Name of the card. Used as a card identifier in card navigation.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * string name = 4; * * @return This builder for chaining. */ public Builder clearName() { name_ = getDefaultInstance().getName(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); return this; } /** * * *
     * Name of the card. Used as a card identifier in card navigation.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * string name = 4; * * @param value The bytes for name to set. * @return This builder for chaining. */ public Builder setNameBytes(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); name_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } private com.google.apps.card.v1.Card.CardFixedFooter fixedFooter_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardFixedFooter, com.google.apps.card.v1.Card.CardFixedFooter.Builder, com.google.apps.card.v1.Card.CardFixedFooterOrBuilder> fixedFooterBuilder_; /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; * * @return Whether the fixedFooter field is set. */ public boolean hasFixedFooter() { return ((bitField0_ & 0x00000020) != 0); } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; * * @return The fixedFooter. */ public com.google.apps.card.v1.Card.CardFixedFooter getFixedFooter() { if (fixedFooterBuilder_ == null) { return fixedFooter_ == null ? com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance() : fixedFooter_; } else { return fixedFooterBuilder_.getMessage(); } } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ public Builder setFixedFooter(com.google.apps.card.v1.Card.CardFixedFooter value) { if (fixedFooterBuilder_ == null) { if (value == null) { throw new NullPointerException(); } fixedFooter_ = value; } else { fixedFooterBuilder_.setMessage(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ public Builder setFixedFooter( com.google.apps.card.v1.Card.CardFixedFooter.Builder builderForValue) { if (fixedFooterBuilder_ == null) { fixedFooter_ = builderForValue.build(); } else { fixedFooterBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000020; onChanged(); return this; } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ public Builder mergeFixedFooter(com.google.apps.card.v1.Card.CardFixedFooter value) { if (fixedFooterBuilder_ == null) { if (((bitField0_ & 0x00000020) != 0) && fixedFooter_ != null && fixedFooter_ != com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance()) { getFixedFooterBuilder().mergeFrom(value); } else { fixedFooter_ = value; } } else { fixedFooterBuilder_.mergeFrom(value); } if (fixedFooter_ != null) { bitField0_ |= 0x00000020; onChanged(); } return this; } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ public Builder clearFixedFooter() { bitField0_ = (bitField0_ & ~0x00000020); fixedFooter_ = null; if (fixedFooterBuilder_ != null) { fixedFooterBuilder_.dispose(); fixedFooterBuilder_ = null; } onChanged(); return this; } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ public com.google.apps.card.v1.Card.CardFixedFooter.Builder getFixedFooterBuilder() { bitField0_ |= 0x00000020; onChanged(); return getFixedFooterFieldBuilder().getBuilder(); } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ public com.google.apps.card.v1.Card.CardFixedFooterOrBuilder getFixedFooterOrBuilder() { if (fixedFooterBuilder_ != null) { return fixedFooterBuilder_.getMessageOrBuilder(); } else { return fixedFooter_ == null ? com.google.apps.card.v1.Card.CardFixedFooter.getDefaultInstance() : fixedFooter_; } } /** * * *
     * The fixed footer shown at the bottom of this card.
     *
     * Setting `fixedFooter` without specifying a `primaryButton` or a
     * `secondaryButton` causes an error. For Chat apps, you can use fixed footers
     * in
     * [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
     * [card
     * messages](https://developers.google.com/workspace/chat/create-messages#create).
     *
     * [Google Workspace Add-ons and Chat
     * apps](https://developers.google.com/workspace/extend):
     * 
* * .google.apps.card.v1.Card.CardFixedFooter fixed_footer = 5; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardFixedFooter, com.google.apps.card.v1.Card.CardFixedFooter.Builder, com.google.apps.card.v1.Card.CardFixedFooterOrBuilder> getFixedFooterFieldBuilder() { if (fixedFooterBuilder_ == null) { fixedFooterBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardFixedFooter, com.google.apps.card.v1.Card.CardFixedFooter.Builder, com.google.apps.card.v1.Card.CardFixedFooterOrBuilder>( getFixedFooter(), getParentForChildren(), isClean()); fixedFooter_ = null; } return fixedFooterBuilder_; } private int displayStyle_ = 0; /** * * *
     * In Google Workspace Add-ons, sets the display properties of the
     * `peekCardHeader`.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @return The enum numeric value on the wire for displayStyle. */ @java.lang.Override public int getDisplayStyleValue() { return displayStyle_; } /** * * *
     * In Google Workspace Add-ons, sets the display properties of the
     * `peekCardHeader`.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @param value The enum numeric value on the wire for displayStyle to set. * @return This builder for chaining. */ public Builder setDisplayStyleValue(int value) { displayStyle_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** * * *
     * In Google Workspace Add-ons, sets the display properties of the
     * `peekCardHeader`.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @return The displayStyle. */ @java.lang.Override public com.google.apps.card.v1.Card.DisplayStyle getDisplayStyle() { com.google.apps.card.v1.Card.DisplayStyle result = com.google.apps.card.v1.Card.DisplayStyle.forNumber(displayStyle_); return result == null ? com.google.apps.card.v1.Card.DisplayStyle.UNRECOGNIZED : result; } /** * * *
     * In Google Workspace Add-ons, sets the display properties of the
     * `peekCardHeader`.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @param value The displayStyle to set. * @return This builder for chaining. */ public Builder setDisplayStyle(com.google.apps.card.v1.Card.DisplayStyle value) { if (value == null) { throw new NullPointerException(); } bitField0_ |= 0x00000040; displayStyle_ = value.getNumber(); onChanged(); return this; } /** * * *
     * In Google Workspace Add-ons, sets the display properties of the
     * `peekCardHeader`.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.DisplayStyle display_style = 6; * * @return This builder for chaining. */ public Builder clearDisplayStyle() { bitField0_ = (bitField0_ & ~0x00000040); displayStyle_ = 0; onChanged(); return this; } private com.google.apps.card.v1.Card.CardHeader peekCardHeader_; private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardHeader, com.google.apps.card.v1.Card.CardHeader.Builder, com.google.apps.card.v1.Card.CardHeaderOrBuilder> peekCardHeaderBuilder_; /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; * * @return Whether the peekCardHeader field is set. */ public boolean hasPeekCardHeader() { return ((bitField0_ & 0x00000080) != 0); } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; * * @return The peekCardHeader. */ public com.google.apps.card.v1.Card.CardHeader getPeekCardHeader() { if (peekCardHeaderBuilder_ == null) { return peekCardHeader_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : peekCardHeader_; } else { return peekCardHeaderBuilder_.getMessage(); } } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ public Builder setPeekCardHeader(com.google.apps.card.v1.Card.CardHeader value) { if (peekCardHeaderBuilder_ == null) { if (value == null) { throw new NullPointerException(); } peekCardHeader_ = value; } else { peekCardHeaderBuilder_.setMessage(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ public Builder setPeekCardHeader( com.google.apps.card.v1.Card.CardHeader.Builder builderForValue) { if (peekCardHeaderBuilder_ == null) { peekCardHeader_ = builderForValue.build(); } else { peekCardHeaderBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000080; onChanged(); return this; } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ public Builder mergePeekCardHeader(com.google.apps.card.v1.Card.CardHeader value) { if (peekCardHeaderBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0) && peekCardHeader_ != null && peekCardHeader_ != com.google.apps.card.v1.Card.CardHeader.getDefaultInstance()) { getPeekCardHeaderBuilder().mergeFrom(value); } else { peekCardHeader_ = value; } } else { peekCardHeaderBuilder_.mergeFrom(value); } if (peekCardHeader_ != null) { bitField0_ |= 0x00000080; onChanged(); } return this; } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ public Builder clearPeekCardHeader() { bitField0_ = (bitField0_ & ~0x00000080); peekCardHeader_ = null; if (peekCardHeaderBuilder_ != null) { peekCardHeaderBuilder_.dispose(); peekCardHeaderBuilder_ = null; } onChanged(); return this; } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ public com.google.apps.card.v1.Card.CardHeader.Builder getPeekCardHeaderBuilder() { bitField0_ |= 0x00000080; onChanged(); return getPeekCardHeaderFieldBuilder().getBuilder(); } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ public com.google.apps.card.v1.Card.CardHeaderOrBuilder getPeekCardHeaderOrBuilder() { if (peekCardHeaderBuilder_ != null) { return peekCardHeaderBuilder_.getMessageOrBuilder(); } else { return peekCardHeader_ == null ? com.google.apps.card.v1.Card.CardHeader.getDefaultInstance() : peekCardHeader_; } } /** * * *
     * When displaying contextual content, the peek card header acts as a
     * placeholder so that the user can navigate forward between the homepage
     * cards and the contextual cards.
     *
     * [Google Workspace
     * Add-ons](https://developers.google.com/workspace/add-ons):
     * 
* * .google.apps.card.v1.Card.CardHeader peek_card_header = 7; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardHeader, com.google.apps.card.v1.Card.CardHeader.Builder, com.google.apps.card.v1.Card.CardHeaderOrBuilder> getPeekCardHeaderFieldBuilder() { if (peekCardHeaderBuilder_ == null) { peekCardHeaderBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.apps.card.v1.Card.CardHeader, com.google.apps.card.v1.Card.CardHeader.Builder, com.google.apps.card.v1.Card.CardHeaderOrBuilder>( getPeekCardHeader(), getParentForChildren(), isClean()); peekCardHeader_ = null; } return peekCardHeaderBuilder_; } @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.apps.card.v1.Card) } // @@protoc_insertion_point(class_scope:google.apps.card.v1.Card) private static final com.google.apps.card.v1.Card DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.apps.card.v1.Card(); } public static com.google.apps.card.v1.Card getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Card parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.apps.card.v1.Card getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy