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

com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: node_update.proto

// Protobuf Java Version: 3.25.3
package com.hedera.hashgraph.sdk.proto;

/**
 * 
 **
 * Transaction body to modify address book node attributes.
 *
 * - This transaction SHALL enable the node operator, as identified by the
 *   `admin_key`, to modify operational attributes of the node.
 * - This transaction MUST be signed by the active `admin_key` for the node.
 * - If this transaction sets a new value for the `admin_key`, then both the
 *   current `admin_key`, and the new `admin_key` MUST sign this transaction.
 * - This transaction SHALL NOT change any field that is not set (is null) in
 *   this transaction body.
 * - This SHALL create a pending update to the node, but the change SHALL NOT
 *   be immediately applied to the active configuration.
 * - All pending node updates SHALL be applied to the active network
 *   configuration during the next `freeze` transaction with the field
 *   `freeze_type` set to `PREPARE_UPGRADE`.
 *
 * ### Record Stream Effects
 * Upon completion the `node_id` for the updated entry SHALL be in the
 * transaction receipt.
 * 
* * Protobuf type {@code com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody} */ public final class NodeUpdateTransactionBody extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) NodeUpdateTransactionBodyOrBuilder { private static final long serialVersionUID = 0L; // Use NodeUpdateTransactionBody.newBuilder() to construct. private NodeUpdateTransactionBody(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private NodeUpdateTransactionBody() { gossipEndpoint_ = java.util.Collections.emptyList(); serviceEndpoint_ = java.util.Collections.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new NodeUpdateTransactionBody(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.hedera.hashgraph.sdk.proto.NodeUpdate.internal_static_com_hedera_hapi_node_addressbook_NodeUpdateTransactionBody_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.hedera.hashgraph.sdk.proto.NodeUpdate.internal_static_com_hedera_hapi_node_addressbook_NodeUpdateTransactionBody_fieldAccessorTable .ensureFieldAccessorsInitialized( com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.class, com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.Builder.class); } private int bitField0_; public static final int NODE_ID_FIELD_NUMBER = 1; private long nodeId_ = 0L; /** *
   **
   * A consensus node identifier in the network state.
   * <p>
   * The node identified MUST exist in the network address book.<br/>
   * The node identified MUST NOT be deleted.<br/>
   * This value is REQUIRED.
   * 
* * uint64 node_id = 1; * @return The nodeId. */ @java.lang.Override public long getNodeId() { return nodeId_; } public static final int ACCOUNT_ID_FIELD_NUMBER = 2; private com.hedera.hashgraph.sdk.proto.AccountID accountId_; /** *
   **
   * An account identifier.
   * <p>
   * If set, this SHALL replace the node account identifier.<br/>
   * If set, this transaction MUST be signed by the active `key` for _both_
   * the current node account _and_ the identified new node account.
   * 
* * .proto.AccountID account_id = 2; * @return Whether the accountId field is set. */ @java.lang.Override public boolean hasAccountId() { return ((bitField0_ & 0x00000001) != 0); } /** *
   **
   * An account identifier.
   * <p>
   * If set, this SHALL replace the node account identifier.<br/>
   * If set, this transaction MUST be signed by the active `key` for _both_
   * the current node account _and_ the identified new node account.
   * 
* * .proto.AccountID account_id = 2; * @return The accountId. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getAccountId() { return accountId_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : accountId_; } /** *
   **
   * An account identifier.
   * <p>
   * If set, this SHALL replace the node account identifier.<br/>
   * If set, this transaction MUST be signed by the active `key` for _both_
   * the current node account _and_ the identified new node account.
   * 
* * .proto.AccountID account_id = 2; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder getAccountIdOrBuilder() { return accountId_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : accountId_; } public static final int DESCRIPTION_FIELD_NUMBER = 3; private com.google.protobuf.StringValue description_; /** *
   **
   * A short description of the node.
   * <p>
   * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
   * If set, this value SHALL replace the previous value.
   * 
* * .google.protobuf.StringValue description = 3; * @return Whether the description field is set. */ @java.lang.Override public boolean hasDescription() { return ((bitField0_ & 0x00000002) != 0); } /** *
   **
   * A short description of the node.
   * <p>
   * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
   * If set, this value SHALL replace the previous value.
   * 
* * .google.protobuf.StringValue description = 3; * @return The description. */ @java.lang.Override public com.google.protobuf.StringValue getDescription() { return description_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : description_; } /** *
   **
   * A short description of the node.
   * <p>
   * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
   * If set, this value SHALL replace the previous value.
   * 
* * .google.protobuf.StringValue description = 3; */ @java.lang.Override public com.google.protobuf.StringValueOrBuilder getDescriptionOrBuilder() { return description_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : description_; } public static final int GOSSIP_ENDPOINT_FIELD_NUMBER = 4; @SuppressWarnings("serial") private java.util.List gossipEndpoint_; /** *
   **
   * A list of service endpoints for gossip.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which other
   * consensus nodes may _gossip_ transactions.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `10` entries.<br/>
   * The first two entries in this list SHALL be the endpoints published to
   * all consensus nodes.<br/>
   * All other entries SHALL be reserved for future use.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.<br/>
   * <blockquote>Example<blockquote>
   * Hedera Mainnet _requires_ that address be specified, and does not
   * permit DNS name (FQDN) to be specified.<br/>
   * Mainnet also requires that the first entry be an "internal" IP
   * address and the second entry be an "external" IP address.
   * </blockquote>
   * <blockquote>
   * Solo, however, _requires_ DNS name (FQDN) but also permits
   * address.
   * </blockquote></blockquote>
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ @java.lang.Override public java.util.List getGossipEndpointList() { return gossipEndpoint_; } /** *
   **
   * A list of service endpoints for gossip.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which other
   * consensus nodes may _gossip_ transactions.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `10` entries.<br/>
   * The first two entries in this list SHALL be the endpoints published to
   * all consensus nodes.<br/>
   * All other entries SHALL be reserved for future use.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.<br/>
   * <blockquote>Example<blockquote>
   * Hedera Mainnet _requires_ that address be specified, and does not
   * permit DNS name (FQDN) to be specified.<br/>
   * Mainnet also requires that the first entry be an "internal" IP
   * address and the second entry be an "external" IP address.
   * </blockquote>
   * <blockquote>
   * Solo, however, _requires_ DNS name (FQDN) but also permits
   * address.
   * </blockquote></blockquote>
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ @java.lang.Override public java.util.List getGossipEndpointOrBuilderList() { return gossipEndpoint_; } /** *
   **
   * A list of service endpoints for gossip.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which other
   * consensus nodes may _gossip_ transactions.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `10` entries.<br/>
   * The first two entries in this list SHALL be the endpoints published to
   * all consensus nodes.<br/>
   * All other entries SHALL be reserved for future use.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.<br/>
   * <blockquote>Example<blockquote>
   * Hedera Mainnet _requires_ that address be specified, and does not
   * permit DNS name (FQDN) to be specified.<br/>
   * Mainnet also requires that the first entry be an "internal" IP
   * address and the second entry be an "external" IP address.
   * </blockquote>
   * <blockquote>
   * Solo, however, _requires_ DNS name (FQDN) but also permits
   * address.
   * </blockquote></blockquote>
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ @java.lang.Override public int getGossipEndpointCount() { return gossipEndpoint_.size(); } /** *
   **
   * A list of service endpoints for gossip.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which other
   * consensus nodes may _gossip_ transactions.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `10` entries.<br/>
   * The first two entries in this list SHALL be the endpoints published to
   * all consensus nodes.<br/>
   * All other entries SHALL be reserved for future use.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.<br/>
   * <blockquote>Example<blockquote>
   * Hedera Mainnet _requires_ that address be specified, and does not
   * permit DNS name (FQDN) to be specified.<br/>
   * Mainnet also requires that the first entry be an "internal" IP
   * address and the second entry be an "external" IP address.
   * </blockquote>
   * <blockquote>
   * Solo, however, _requires_ DNS name (FQDN) but also permits
   * address.
   * </blockquote></blockquote>
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.ServiceEndpoint getGossipEndpoint(int index) { return gossipEndpoint_.get(index); } /** *
   **
   * A list of service endpoints for gossip.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which other
   * consensus nodes may _gossip_ transactions.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `10` entries.<br/>
   * The first two entries in this list SHALL be the endpoints published to
   * all consensus nodes.<br/>
   * All other entries SHALL be reserved for future use.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.<br/>
   * <blockquote>Example<blockquote>
   * Hedera Mainnet _requires_ that address be specified, and does not
   * permit DNS name (FQDN) to be specified.<br/>
   * Mainnet also requires that the first entry be an "internal" IP
   * address and the second entry be an "external" IP address.
   * </blockquote>
   * <blockquote>
   * Solo, however, _requires_ DNS name (FQDN) but also permits
   * address.
   * </blockquote></blockquote>
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder getGossipEndpointOrBuilder( int index) { return gossipEndpoint_.get(index); } public static final int SERVICE_ENDPOINT_FIELD_NUMBER = 5; @SuppressWarnings("serial") private java.util.List serviceEndpoint_; /** *
   **
   * A list of service endpoints for gRPC calls.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which clients
   * may submit transactions.<br/>
   * These endpoints SHOULD specify address and port.<br/>
   * These endpoints MAY specify a DNS name.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `8` entries.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ @java.lang.Override public java.util.List getServiceEndpointList() { return serviceEndpoint_; } /** *
   **
   * A list of service endpoints for gRPC calls.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which clients
   * may submit transactions.<br/>
   * These endpoints SHOULD specify address and port.<br/>
   * These endpoints MAY specify a DNS name.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `8` entries.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ @java.lang.Override public java.util.List getServiceEndpointOrBuilderList() { return serviceEndpoint_; } /** *
   **
   * A list of service endpoints for gRPC calls.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which clients
   * may submit transactions.<br/>
   * These endpoints SHOULD specify address and port.<br/>
   * These endpoints MAY specify a DNS name.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `8` entries.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ @java.lang.Override public int getServiceEndpointCount() { return serviceEndpoint_.size(); } /** *
   **
   * A list of service endpoints for gRPC calls.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which clients
   * may submit transactions.<br/>
   * These endpoints SHOULD specify address and port.<br/>
   * These endpoints MAY specify a DNS name.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `8` entries.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.ServiceEndpoint getServiceEndpoint(int index) { return serviceEndpoint_.get(index); } /** *
   **
   * A list of service endpoints for gRPC calls.
   * <p>
   * If set, this list MUST meet the following requirements.
   * <hr/>
   * These endpoints SHALL represent the published endpoints to which clients
   * may submit transactions.<br/>
   * These endpoints SHOULD specify address and port.<br/>
   * These endpoints MAY specify a DNS name.<br/>
   * These endpoints SHOULD NOT specify both address and DNS name.<br/>
   * This list MUST NOT be empty.<br/>
   * This list MUST NOT contain more than `8` entries.
   * <p>
   * Each network may have additional requirements for these endpoints.
   * A client MUST check network-specific documentation for those
   * details.
   * <p>
   * If set, the new list SHALL replace the existing list.
   * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder getServiceEndpointOrBuilder( int index) { return serviceEndpoint_.get(index); } public static final int GOSSIP_CA_CERTIFICATE_FIELD_NUMBER = 6; private com.google.protobuf.BytesValue gossipCaCertificate_; /** *
   **
   * A certificate used to sign gossip events.
   * <p>
   * This value MUST be a certificate of a type permitted for gossip
   * signatures.<br/>
   * This value MUST be the DER encoding of the certificate presented.
   * <p>
   * If set, the new value SHALL replace the existing bytes value.
   * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; * @return Whether the gossipCaCertificate field is set. */ @java.lang.Override public boolean hasGossipCaCertificate() { return ((bitField0_ & 0x00000004) != 0); } /** *
   **
   * A certificate used to sign gossip events.
   * <p>
   * This value MUST be a certificate of a type permitted for gossip
   * signatures.<br/>
   * This value MUST be the DER encoding of the certificate presented.
   * <p>
   * If set, the new value SHALL replace the existing bytes value.
   * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; * @return The gossipCaCertificate. */ @java.lang.Override public com.google.protobuf.BytesValue getGossipCaCertificate() { return gossipCaCertificate_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : gossipCaCertificate_; } /** *
   **
   * A certificate used to sign gossip events.
   * <p>
   * This value MUST be a certificate of a type permitted for gossip
   * signatures.<br/>
   * This value MUST be the DER encoding of the certificate presented.
   * <p>
   * If set, the new value SHALL replace the existing bytes value.
   * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ @java.lang.Override public com.google.protobuf.BytesValueOrBuilder getGossipCaCertificateOrBuilder() { return gossipCaCertificate_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : gossipCaCertificate_; } public static final int GRPC_CERTIFICATE_HASH_FIELD_NUMBER = 7; private com.google.protobuf.BytesValue grpcCertificateHash_; /** *
   **
   * A hash of the node gRPC TLS certificate.
   * <p>
   * This value MAY be used to verify the certificate presented by the node
   * during TLS negotiation for gRPC.<br/>
   * This value MUST be a SHA-384 hash.<br/>
   * The TLS certificate to be hashed MUST first be in PEM format and MUST be
   * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
   * the hash algorithm.<br/>
   * <p>
   * If set, the new value SHALL replace the existing hash value.
   * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; * @return Whether the grpcCertificateHash field is set. */ @java.lang.Override public boolean hasGrpcCertificateHash() { return ((bitField0_ & 0x00000008) != 0); } /** *
   **
   * A hash of the node gRPC TLS certificate.
   * <p>
   * This value MAY be used to verify the certificate presented by the node
   * during TLS negotiation for gRPC.<br/>
   * This value MUST be a SHA-384 hash.<br/>
   * The TLS certificate to be hashed MUST first be in PEM format and MUST be
   * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
   * the hash algorithm.<br/>
   * <p>
   * If set, the new value SHALL replace the existing hash value.
   * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; * @return The grpcCertificateHash. */ @java.lang.Override public com.google.protobuf.BytesValue getGrpcCertificateHash() { return grpcCertificateHash_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : grpcCertificateHash_; } /** *
   **
   * A hash of the node gRPC TLS certificate.
   * <p>
   * This value MAY be used to verify the certificate presented by the node
   * during TLS negotiation for gRPC.<br/>
   * This value MUST be a SHA-384 hash.<br/>
   * The TLS certificate to be hashed MUST first be in PEM format and MUST be
   * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
   * the hash algorithm.<br/>
   * <p>
   * If set, the new value SHALL replace the existing hash value.
   * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ @java.lang.Override public com.google.protobuf.BytesValueOrBuilder getGrpcCertificateHashOrBuilder() { return grpcCertificateHash_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : grpcCertificateHash_; } public static final int ADMIN_KEY_FIELD_NUMBER = 8; private com.hedera.hashgraph.sdk.proto.Key adminKey_; /** *
   **
   * An administrative key controlled by the node operator.
   * <p>
   * This field is OPTIONAL.<br/>
   * If set, this key MUST sign this transaction.<br/>
   * If set, this key MUST sign each subsequent transaction to
   * update this node.<br/>
   * If set, this field MUST contain a valid `Key` value.<br/>
   * If set, this field MUST NOT be set to an empty `KeyList`.
   * 
* * .proto.Key admin_key = 8; * @return Whether the adminKey field is set. */ @java.lang.Override public boolean hasAdminKey() { return ((bitField0_ & 0x00000010) != 0); } /** *
   **
   * An administrative key controlled by the node operator.
   * <p>
   * This field is OPTIONAL.<br/>
   * If set, this key MUST sign this transaction.<br/>
   * If set, this key MUST sign each subsequent transaction to
   * update this node.<br/>
   * If set, this field MUST contain a valid `Key` value.<br/>
   * If set, this field MUST NOT be set to an empty `KeyList`.
   * 
* * .proto.Key admin_key = 8; * @return The adminKey. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } /** *
   **
   * An administrative key controlled by the node operator.
   * <p>
   * This field is OPTIONAL.<br/>
   * If set, this key MUST sign this transaction.<br/>
   * If set, this key MUST sign each subsequent transaction to
   * update this node.<br/>
   * If set, this field MUST contain a valid `Key` value.<br/>
   * If set, this field MUST NOT be set to an empty `KeyList`.
   * 
* * .proto.Key admin_key = 8; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.KeyOrBuilder getAdminKeyOrBuilder() { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } 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 (nodeId_ != 0L) { output.writeUInt64(1, nodeId_); } if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(2, getAccountId()); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(3, getDescription()); } for (int i = 0; i < gossipEndpoint_.size(); i++) { output.writeMessage(4, gossipEndpoint_.get(i)); } for (int i = 0; i < serviceEndpoint_.size(); i++) { output.writeMessage(5, serviceEndpoint_.get(i)); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(6, getGossipCaCertificate()); } if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(7, getGrpcCertificateHash()); } if (((bitField0_ & 0x00000010) != 0)) { output.writeMessage(8, getAdminKey()); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (nodeId_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeUInt64Size(1, nodeId_); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(2, getAccountId()); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getDescription()); } for (int i = 0; i < gossipEndpoint_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, gossipEndpoint_.get(i)); } for (int i = 0; i < serviceEndpoint_.size(); i++) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, serviceEndpoint_.get(i)); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(6, getGossipCaCertificate()); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(7, getGrpcCertificateHash()); } if (((bitField0_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(8, getAdminKey()); } 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.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody)) { return super.equals(obj); } com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody other = (com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody) obj; if (getNodeId() != other.getNodeId()) return false; if (hasAccountId() != other.hasAccountId()) return false; if (hasAccountId()) { if (!getAccountId() .equals(other.getAccountId())) return false; } if (hasDescription() != other.hasDescription()) return false; if (hasDescription()) { if (!getDescription() .equals(other.getDescription())) return false; } if (!getGossipEndpointList() .equals(other.getGossipEndpointList())) return false; if (!getServiceEndpointList() .equals(other.getServiceEndpointList())) return false; if (hasGossipCaCertificate() != other.hasGossipCaCertificate()) return false; if (hasGossipCaCertificate()) { if (!getGossipCaCertificate() .equals(other.getGossipCaCertificate())) return false; } if (hasGrpcCertificateHash() != other.hasGrpcCertificateHash()) return false; if (hasGrpcCertificateHash()) { if (!getGrpcCertificateHash() .equals(other.getGrpcCertificateHash())) return false; } if (hasAdminKey() != other.hasAdminKey()) return false; if (hasAdminKey()) { if (!getAdminKey() .equals(other.getAdminKey())) 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) + NODE_ID_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getNodeId()); if (hasAccountId()) { hash = (37 * hash) + ACCOUNT_ID_FIELD_NUMBER; hash = (53 * hash) + getAccountId().hashCode(); } if (hasDescription()) { hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; hash = (53 * hash) + getDescription().hashCode(); } if (getGossipEndpointCount() > 0) { hash = (37 * hash) + GOSSIP_ENDPOINT_FIELD_NUMBER; hash = (53 * hash) + getGossipEndpointList().hashCode(); } if (getServiceEndpointCount() > 0) { hash = (37 * hash) + SERVICE_ENDPOINT_FIELD_NUMBER; hash = (53 * hash) + getServiceEndpointList().hashCode(); } if (hasGossipCaCertificate()) { hash = (37 * hash) + GOSSIP_CA_CERTIFICATE_FIELD_NUMBER; hash = (53 * hash) + getGossipCaCertificate().hashCode(); } if (hasGrpcCertificateHash()) { hash = (37 * hash) + GRPC_CERTIFICATE_HASH_FIELD_NUMBER; hash = (53 * hash) + getGrpcCertificateHash().hashCode(); } if (hasAdminKey()) { hash = (37 * hash) + ADMIN_KEY_FIELD_NUMBER; hash = (53 * hash) + getAdminKey().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody 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.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody 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.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody 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.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody 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; } /** *
   **
   * Transaction body to modify address book node attributes.
   *
   * - This transaction SHALL enable the node operator, as identified by the
   *   `admin_key`, to modify operational attributes of the node.
   * - This transaction MUST be signed by the active `admin_key` for the node.
   * - If this transaction sets a new value for the `admin_key`, then both the
   *   current `admin_key`, and the new `admin_key` MUST sign this transaction.
   * - This transaction SHALL NOT change any field that is not set (is null) in
   *   this transaction body.
   * - This SHALL create a pending update to the node, but the change SHALL NOT
   *   be immediately applied to the active configuration.
   * - All pending node updates SHALL be applied to the active network
   *   configuration during the next `freeze` transaction with the field
   *   `freeze_type` set to `PREPARE_UPGRADE`.
   *
   * ### Record Stream Effects
   * Upon completion the `node_id` for the updated entry SHALL be in the
   * transaction receipt.
   * 
* * Protobuf type {@code com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBodyOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.hedera.hashgraph.sdk.proto.NodeUpdate.internal_static_com_hedera_hapi_node_addressbook_NodeUpdateTransactionBody_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.hedera.hashgraph.sdk.proto.NodeUpdate.internal_static_com_hedera_hapi_node_addressbook_NodeUpdateTransactionBody_fieldAccessorTable .ensureFieldAccessorsInitialized( com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.class, com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.Builder.class); } // Construct using com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getAccountIdFieldBuilder(); getDescriptionFieldBuilder(); getGossipEndpointFieldBuilder(); getServiceEndpointFieldBuilder(); getGossipCaCertificateFieldBuilder(); getGrpcCertificateHashFieldBuilder(); getAdminKeyFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; nodeId_ = 0L; accountId_ = null; if (accountIdBuilder_ != null) { accountIdBuilder_.dispose(); accountIdBuilder_ = null; } description_ = null; if (descriptionBuilder_ != null) { descriptionBuilder_.dispose(); descriptionBuilder_ = null; } if (gossipEndpointBuilder_ == null) { gossipEndpoint_ = java.util.Collections.emptyList(); } else { gossipEndpoint_ = null; gossipEndpointBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000008); if (serviceEndpointBuilder_ == null) { serviceEndpoint_ = java.util.Collections.emptyList(); } else { serviceEndpoint_ = null; serviceEndpointBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000010); gossipCaCertificate_ = null; if (gossipCaCertificateBuilder_ != null) { gossipCaCertificateBuilder_.dispose(); gossipCaCertificateBuilder_ = null; } grpcCertificateHash_ = null; if (grpcCertificateHashBuilder_ != null) { grpcCertificateHashBuilder_.dispose(); grpcCertificateHashBuilder_ = null; } adminKey_ = null; if (adminKeyBuilder_ != null) { adminKeyBuilder_.dispose(); adminKeyBuilder_ = null; } return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.hedera.hashgraph.sdk.proto.NodeUpdate.internal_static_com_hedera_hapi_node_addressbook_NodeUpdateTransactionBody_descriptor; } @java.lang.Override public com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody getDefaultInstanceForType() { return com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.getDefaultInstance(); } @java.lang.Override public com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody build() { com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody buildPartial() { com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody result = new com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody result) { if (gossipEndpointBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0)) { gossipEndpoint_ = java.util.Collections.unmodifiableList(gossipEndpoint_); bitField0_ = (bitField0_ & ~0x00000008); } result.gossipEndpoint_ = gossipEndpoint_; } else { result.gossipEndpoint_ = gossipEndpointBuilder_.build(); } if (serviceEndpointBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0)) { serviceEndpoint_ = java.util.Collections.unmodifiableList(serviceEndpoint_); bitField0_ = (bitField0_ & ~0x00000010); } result.serviceEndpoint_ = serviceEndpoint_; } else { result.serviceEndpoint_ = serviceEndpointBuilder_.build(); } } private void buildPartial0(com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody result) { int from_bitField0_ = bitField0_; if (((from_bitField0_ & 0x00000001) != 0)) { result.nodeId_ = nodeId_; } int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000002) != 0)) { result.accountId_ = accountIdBuilder_ == null ? accountId_ : accountIdBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000004) != 0)) { result.description_ = descriptionBuilder_ == null ? description_ : descriptionBuilder_.build(); to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000020) != 0)) { result.gossipCaCertificate_ = gossipCaCertificateBuilder_ == null ? gossipCaCertificate_ : gossipCaCertificateBuilder_.build(); to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000040) != 0)) { result.grpcCertificateHash_ = grpcCertificateHashBuilder_ == null ? grpcCertificateHash_ : grpcCertificateHashBuilder_.build(); to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000080) != 0)) { result.adminKey_ = adminKeyBuilder_ == null ? adminKey_ : adminKeyBuilder_.build(); to_bitField0_ |= 0x00000010; } 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.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody) { return mergeFrom((com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody other) { if (other == com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.getDefaultInstance()) return this; if (other.getNodeId() != 0L) { setNodeId(other.getNodeId()); } if (other.hasAccountId()) { mergeAccountId(other.getAccountId()); } if (other.hasDescription()) { mergeDescription(other.getDescription()); } if (gossipEndpointBuilder_ == null) { if (!other.gossipEndpoint_.isEmpty()) { if (gossipEndpoint_.isEmpty()) { gossipEndpoint_ = other.gossipEndpoint_; bitField0_ = (bitField0_ & ~0x00000008); } else { ensureGossipEndpointIsMutable(); gossipEndpoint_.addAll(other.gossipEndpoint_); } onChanged(); } } else { if (!other.gossipEndpoint_.isEmpty()) { if (gossipEndpointBuilder_.isEmpty()) { gossipEndpointBuilder_.dispose(); gossipEndpointBuilder_ = null; gossipEndpoint_ = other.gossipEndpoint_; bitField0_ = (bitField0_ & ~0x00000008); gossipEndpointBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getGossipEndpointFieldBuilder() : null; } else { gossipEndpointBuilder_.addAllMessages(other.gossipEndpoint_); } } } if (serviceEndpointBuilder_ == null) { if (!other.serviceEndpoint_.isEmpty()) { if (serviceEndpoint_.isEmpty()) { serviceEndpoint_ = other.serviceEndpoint_; bitField0_ = (bitField0_ & ~0x00000010); } else { ensureServiceEndpointIsMutable(); serviceEndpoint_.addAll(other.serviceEndpoint_); } onChanged(); } } else { if (!other.serviceEndpoint_.isEmpty()) { if (serviceEndpointBuilder_.isEmpty()) { serviceEndpointBuilder_.dispose(); serviceEndpointBuilder_ = null; serviceEndpoint_ = other.serviceEndpoint_; bitField0_ = (bitField0_ & ~0x00000010); serviceEndpointBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceEndpointFieldBuilder() : null; } else { serviceEndpointBuilder_.addAllMessages(other.serviceEndpoint_); } } } if (other.hasGossipCaCertificate()) { mergeGossipCaCertificate(other.getGossipCaCertificate()); } if (other.hasGrpcCertificateHash()) { mergeGrpcCertificateHash(other.getGrpcCertificateHash()); } if (other.hasAdminKey()) { mergeAdminKey(other.getAdminKey()); } 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 8: { nodeId_ = input.readUInt64(); bitField0_ |= 0x00000001; break; } // case 8 case 18: { input.readMessage( getAccountIdFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000002; break; } // case 18 case 26: { input.readMessage( getDescriptionFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000004; break; } // case 26 case 34: { com.hedera.hashgraph.sdk.proto.ServiceEndpoint m = input.readMessage( com.hedera.hashgraph.sdk.proto.ServiceEndpoint.parser(), extensionRegistry); if (gossipEndpointBuilder_ == null) { ensureGossipEndpointIsMutable(); gossipEndpoint_.add(m); } else { gossipEndpointBuilder_.addMessage(m); } break; } // case 34 case 42: { com.hedera.hashgraph.sdk.proto.ServiceEndpoint m = input.readMessage( com.hedera.hashgraph.sdk.proto.ServiceEndpoint.parser(), extensionRegistry); if (serviceEndpointBuilder_ == null) { ensureServiceEndpointIsMutable(); serviceEndpoint_.add(m); } else { serviceEndpointBuilder_.addMessage(m); } break; } // case 42 case 50: { input.readMessage( getGossipCaCertificateFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000020; break; } // case 50 case 58: { input.readMessage( getGrpcCertificateHashFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000040; break; } // case 58 case 66: { input.readMessage( getAdminKeyFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000080; break; } // case 66 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 long nodeId_ ; /** *
     **
     * A consensus node identifier in the network state.
     * <p>
     * The node identified MUST exist in the network address book.<br/>
     * The node identified MUST NOT be deleted.<br/>
     * This value is REQUIRED.
     * 
* * uint64 node_id = 1; * @return The nodeId. */ @java.lang.Override public long getNodeId() { return nodeId_; } /** *
     **
     * A consensus node identifier in the network state.
     * <p>
     * The node identified MUST exist in the network address book.<br/>
     * The node identified MUST NOT be deleted.<br/>
     * This value is REQUIRED.
     * 
* * uint64 node_id = 1; * @param value The nodeId to set. * @return This builder for chaining. */ public Builder setNodeId(long value) { nodeId_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     **
     * A consensus node identifier in the network state.
     * <p>
     * The node identified MUST exist in the network address book.<br/>
     * The node identified MUST NOT be deleted.<br/>
     * This value is REQUIRED.
     * 
* * uint64 node_id = 1; * @return This builder for chaining. */ public Builder clearNodeId() { bitField0_ = (bitField0_ & ~0x00000001); nodeId_ = 0L; onChanged(); return this; } private com.hedera.hashgraph.sdk.proto.AccountID accountId_; private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.AccountID, com.hedera.hashgraph.sdk.proto.AccountID.Builder, com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder> accountIdBuilder_; /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; * @return Whether the accountId field is set. */ public boolean hasAccountId() { return ((bitField0_ & 0x00000002) != 0); } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; * @return The accountId. */ public com.hedera.hashgraph.sdk.proto.AccountID getAccountId() { if (accountIdBuilder_ == null) { return accountId_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : accountId_; } else { return accountIdBuilder_.getMessage(); } } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ public Builder setAccountId(com.hedera.hashgraph.sdk.proto.AccountID value) { if (accountIdBuilder_ == null) { if (value == null) { throw new NullPointerException(); } accountId_ = value; } else { accountIdBuilder_.setMessage(value); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ public Builder setAccountId( com.hedera.hashgraph.sdk.proto.AccountID.Builder builderForValue) { if (accountIdBuilder_ == null) { accountId_ = builderForValue.build(); } else { accountIdBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ public Builder mergeAccountId(com.hedera.hashgraph.sdk.proto.AccountID value) { if (accountIdBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && accountId_ != null && accountId_ != com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance()) { getAccountIdBuilder().mergeFrom(value); } else { accountId_ = value; } } else { accountIdBuilder_.mergeFrom(value); } if (accountId_ != null) { bitField0_ |= 0x00000002; onChanged(); } return this; } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ public Builder clearAccountId() { bitField0_ = (bitField0_ & ~0x00000002); accountId_ = null; if (accountIdBuilder_ != null) { accountIdBuilder_.dispose(); accountIdBuilder_ = null; } onChanged(); return this; } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ public com.hedera.hashgraph.sdk.proto.AccountID.Builder getAccountIdBuilder() { bitField0_ |= 0x00000002; onChanged(); return getAccountIdFieldBuilder().getBuilder(); } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ public com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder getAccountIdOrBuilder() { if (accountIdBuilder_ != null) { return accountIdBuilder_.getMessageOrBuilder(); } else { return accountId_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : accountId_; } } /** *
     **
     * An account identifier.
     * <p>
     * If set, this SHALL replace the node account identifier.<br/>
     * If set, this transaction MUST be signed by the active `key` for _both_
     * the current node account _and_ the identified new node account.
     * 
* * .proto.AccountID account_id = 2; */ private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.AccountID, com.hedera.hashgraph.sdk.proto.AccountID.Builder, com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder> getAccountIdFieldBuilder() { if (accountIdBuilder_ == null) { accountIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.AccountID, com.hedera.hashgraph.sdk.proto.AccountID.Builder, com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder>( getAccountId(), getParentForChildren(), isClean()); accountId_ = null; } return accountIdBuilder_; } private com.google.protobuf.StringValue description_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> descriptionBuilder_; /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; * @return Whether the description field is set. */ public boolean hasDescription() { return ((bitField0_ & 0x00000004) != 0); } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; * @return The description. */ public com.google.protobuf.StringValue getDescription() { if (descriptionBuilder_ == null) { return description_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : description_; } else { return descriptionBuilder_.getMessage(); } } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ public Builder setDescription(com.google.protobuf.StringValue value) { if (descriptionBuilder_ == null) { if (value == null) { throw new NullPointerException(); } description_ = value; } else { descriptionBuilder_.setMessage(value); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ public Builder setDescription( com.google.protobuf.StringValue.Builder builderForValue) { if (descriptionBuilder_ == null) { description_ = builderForValue.build(); } else { descriptionBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ public Builder mergeDescription(com.google.protobuf.StringValue value) { if (descriptionBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0) && description_ != null && description_ != com.google.protobuf.StringValue.getDefaultInstance()) { getDescriptionBuilder().mergeFrom(value); } else { description_ = value; } } else { descriptionBuilder_.mergeFrom(value); } if (description_ != null) { bitField0_ |= 0x00000004; onChanged(); } return this; } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ public Builder clearDescription() { bitField0_ = (bitField0_ & ~0x00000004); description_ = null; if (descriptionBuilder_ != null) { descriptionBuilder_.dispose(); descriptionBuilder_ = null; } onChanged(); return this; } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ public com.google.protobuf.StringValue.Builder getDescriptionBuilder() { bitField0_ |= 0x00000004; onChanged(); return getDescriptionFieldBuilder().getBuilder(); } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ public com.google.protobuf.StringValueOrBuilder getDescriptionOrBuilder() { if (descriptionBuilder_ != null) { return descriptionBuilder_.getMessageOrBuilder(); } else { return description_ == null ? com.google.protobuf.StringValue.getDefaultInstance() : description_; } } /** *
     **
     * A short description of the node.
     * <p>
     * This value, if set, MUST NOT exceed 100 bytes when encoded as UTF-8.<br/>
     * If set, this value SHALL replace the previous value.
     * 
* * .google.protobuf.StringValue description = 3; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder> getDescriptionFieldBuilder() { if (descriptionBuilder_ == null) { descriptionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.StringValue, com.google.protobuf.StringValue.Builder, com.google.protobuf.StringValueOrBuilder>( getDescription(), getParentForChildren(), isClean()); description_ = null; } return descriptionBuilder_; } private java.util.List gossipEndpoint_ = java.util.Collections.emptyList(); private void ensureGossipEndpointIsMutable() { if (!((bitField0_ & 0x00000008) != 0)) { gossipEndpoint_ = new java.util.ArrayList(gossipEndpoint_); bitField0_ |= 0x00000008; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.hedera.hashgraph.sdk.proto.ServiceEndpoint, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder, com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder> gossipEndpointBuilder_; /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public java.util.List getGossipEndpointList() { if (gossipEndpointBuilder_ == null) { return java.util.Collections.unmodifiableList(gossipEndpoint_); } else { return gossipEndpointBuilder_.getMessageList(); } } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public int getGossipEndpointCount() { if (gossipEndpointBuilder_ == null) { return gossipEndpoint_.size(); } else { return gossipEndpointBuilder_.getCount(); } } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint getGossipEndpoint(int index) { if (gossipEndpointBuilder_ == null) { return gossipEndpoint_.get(index); } else { return gossipEndpointBuilder_.getMessage(index); } } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder setGossipEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { if (gossipEndpointBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureGossipEndpointIsMutable(); gossipEndpoint_.set(index, value); onChanged(); } else { gossipEndpointBuilder_.setMessage(index, value); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder setGossipEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder builderForValue) { if (gossipEndpointBuilder_ == null) { ensureGossipEndpointIsMutable(); gossipEndpoint_.set(index, builderForValue.build()); onChanged(); } else { gossipEndpointBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder addGossipEndpoint(com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { if (gossipEndpointBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureGossipEndpointIsMutable(); gossipEndpoint_.add(value); onChanged(); } else { gossipEndpointBuilder_.addMessage(value); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder addGossipEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { if (gossipEndpointBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureGossipEndpointIsMutable(); gossipEndpoint_.add(index, value); onChanged(); } else { gossipEndpointBuilder_.addMessage(index, value); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder addGossipEndpoint( com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder builderForValue) { if (gossipEndpointBuilder_ == null) { ensureGossipEndpointIsMutable(); gossipEndpoint_.add(builderForValue.build()); onChanged(); } else { gossipEndpointBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder addGossipEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder builderForValue) { if (gossipEndpointBuilder_ == null) { ensureGossipEndpointIsMutable(); gossipEndpoint_.add(index, builderForValue.build()); onChanged(); } else { gossipEndpointBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder addAllGossipEndpoint( java.lang.Iterable values) { if (gossipEndpointBuilder_ == null) { ensureGossipEndpointIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, gossipEndpoint_); onChanged(); } else { gossipEndpointBuilder_.addAllMessages(values); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder clearGossipEndpoint() { if (gossipEndpointBuilder_ == null) { gossipEndpoint_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000008); onChanged(); } else { gossipEndpointBuilder_.clear(); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public Builder removeGossipEndpoint(int index) { if (gossipEndpointBuilder_ == null) { ensureGossipEndpointIsMutable(); gossipEndpoint_.remove(index); onChanged(); } else { gossipEndpointBuilder_.remove(index); } return this; } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder getGossipEndpointBuilder( int index) { return getGossipEndpointFieldBuilder().getBuilder(index); } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder getGossipEndpointOrBuilder( int index) { if (gossipEndpointBuilder_ == null) { return gossipEndpoint_.get(index); } else { return gossipEndpointBuilder_.getMessageOrBuilder(index); } } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public java.util.List getGossipEndpointOrBuilderList() { if (gossipEndpointBuilder_ != null) { return gossipEndpointBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(gossipEndpoint_); } } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder addGossipEndpointBuilder() { return getGossipEndpointFieldBuilder().addBuilder( com.hedera.hashgraph.sdk.proto.ServiceEndpoint.getDefaultInstance()); } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder addGossipEndpointBuilder( int index) { return getGossipEndpointFieldBuilder().addBuilder( index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.getDefaultInstance()); } /** *
     **
     * A list of service endpoints for gossip.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which other
     * consensus nodes may _gossip_ transactions.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `10` entries.<br/>
     * The first two entries in this list SHALL be the endpoints published to
     * all consensus nodes.<br/>
     * All other entries SHALL be reserved for future use.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.<br/>
     * <blockquote>Example<blockquote>
     * Hedera Mainnet _requires_ that address be specified, and does not
     * permit DNS name (FQDN) to be specified.<br/>
     * Mainnet also requires that the first entry be an "internal" IP
     * address and the second entry be an "external" IP address.
     * </blockquote>
     * <blockquote>
     * Solo, however, _requires_ DNS name (FQDN) but also permits
     * address.
     * </blockquote></blockquote>
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint gossip_endpoint = 4; */ public java.util.List getGossipEndpointBuilderList() { return getGossipEndpointFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.hedera.hashgraph.sdk.proto.ServiceEndpoint, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder, com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder> getGossipEndpointFieldBuilder() { if (gossipEndpointBuilder_ == null) { gossipEndpointBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.hedera.hashgraph.sdk.proto.ServiceEndpoint, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder, com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder>( gossipEndpoint_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); gossipEndpoint_ = null; } return gossipEndpointBuilder_; } private java.util.List serviceEndpoint_ = java.util.Collections.emptyList(); private void ensureServiceEndpointIsMutable() { if (!((bitField0_ & 0x00000010) != 0)) { serviceEndpoint_ = new java.util.ArrayList(serviceEndpoint_); bitField0_ |= 0x00000010; } } private com.google.protobuf.RepeatedFieldBuilderV3< com.hedera.hashgraph.sdk.proto.ServiceEndpoint, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder, com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder> serviceEndpointBuilder_; /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public java.util.List getServiceEndpointList() { if (serviceEndpointBuilder_ == null) { return java.util.Collections.unmodifiableList(serviceEndpoint_); } else { return serviceEndpointBuilder_.getMessageList(); } } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public int getServiceEndpointCount() { if (serviceEndpointBuilder_ == null) { return serviceEndpoint_.size(); } else { return serviceEndpointBuilder_.getCount(); } } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint getServiceEndpoint(int index) { if (serviceEndpointBuilder_ == null) { return serviceEndpoint_.get(index); } else { return serviceEndpointBuilder_.getMessage(index); } } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder setServiceEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { if (serviceEndpointBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureServiceEndpointIsMutable(); serviceEndpoint_.set(index, value); onChanged(); } else { serviceEndpointBuilder_.setMessage(index, value); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder setServiceEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder builderForValue) { if (serviceEndpointBuilder_ == null) { ensureServiceEndpointIsMutable(); serviceEndpoint_.set(index, builderForValue.build()); onChanged(); } else { serviceEndpointBuilder_.setMessage(index, builderForValue.build()); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder addServiceEndpoint(com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { if (serviceEndpointBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureServiceEndpointIsMutable(); serviceEndpoint_.add(value); onChanged(); } else { serviceEndpointBuilder_.addMessage(value); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder addServiceEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { if (serviceEndpointBuilder_ == null) { if (value == null) { throw new NullPointerException(); } ensureServiceEndpointIsMutable(); serviceEndpoint_.add(index, value); onChanged(); } else { serviceEndpointBuilder_.addMessage(index, value); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder addServiceEndpoint( com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder builderForValue) { if (serviceEndpointBuilder_ == null) { ensureServiceEndpointIsMutable(); serviceEndpoint_.add(builderForValue.build()); onChanged(); } else { serviceEndpointBuilder_.addMessage(builderForValue.build()); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder addServiceEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder builderForValue) { if (serviceEndpointBuilder_ == null) { ensureServiceEndpointIsMutable(); serviceEndpoint_.add(index, builderForValue.build()); onChanged(); } else { serviceEndpointBuilder_.addMessage(index, builderForValue.build()); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder addAllServiceEndpoint( java.lang.Iterable values) { if (serviceEndpointBuilder_ == null) { ensureServiceEndpointIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, serviceEndpoint_); onChanged(); } else { serviceEndpointBuilder_.addAllMessages(values); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder clearServiceEndpoint() { if (serviceEndpointBuilder_ == null) { serviceEndpoint_ = java.util.Collections.emptyList(); bitField0_ = (bitField0_ & ~0x00000010); onChanged(); } else { serviceEndpointBuilder_.clear(); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public Builder removeServiceEndpoint(int index) { if (serviceEndpointBuilder_ == null) { ensureServiceEndpointIsMutable(); serviceEndpoint_.remove(index); onChanged(); } else { serviceEndpointBuilder_.remove(index); } return this; } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder getServiceEndpointBuilder( int index) { return getServiceEndpointFieldBuilder().getBuilder(index); } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder getServiceEndpointOrBuilder( int index) { if (serviceEndpointBuilder_ == null) { return serviceEndpoint_.get(index); } else { return serviceEndpointBuilder_.getMessageOrBuilder(index); } } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public java.util.List getServiceEndpointOrBuilderList() { if (serviceEndpointBuilder_ != null) { return serviceEndpointBuilder_.getMessageOrBuilderList(); } else { return java.util.Collections.unmodifiableList(serviceEndpoint_); } } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder addServiceEndpointBuilder() { return getServiceEndpointFieldBuilder().addBuilder( com.hedera.hashgraph.sdk.proto.ServiceEndpoint.getDefaultInstance()); } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder addServiceEndpointBuilder( int index) { return getServiceEndpointFieldBuilder().addBuilder( index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.getDefaultInstance()); } /** *
     **
     * A list of service endpoints for gRPC calls.
     * <p>
     * If set, this list MUST meet the following requirements.
     * <hr/>
     * These endpoints SHALL represent the published endpoints to which clients
     * may submit transactions.<br/>
     * These endpoints SHOULD specify address and port.<br/>
     * These endpoints MAY specify a DNS name.<br/>
     * These endpoints SHOULD NOT specify both address and DNS name.<br/>
     * This list MUST NOT be empty.<br/>
     * This list MUST NOT contain more than `8` entries.
     * <p>
     * Each network may have additional requirements for these endpoints.
     * A client MUST check network-specific documentation for those
     * details.
     * <p>
     * If set, the new list SHALL replace the existing list.
     * 
* * repeated .proto.ServiceEndpoint service_endpoint = 5; */ public java.util.List getServiceEndpointBuilderList() { return getServiceEndpointFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< com.hedera.hashgraph.sdk.proto.ServiceEndpoint, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder, com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder> getServiceEndpointFieldBuilder() { if (serviceEndpointBuilder_ == null) { serviceEndpointBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< com.hedera.hashgraph.sdk.proto.ServiceEndpoint, com.hedera.hashgraph.sdk.proto.ServiceEndpoint.Builder, com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder>( serviceEndpoint_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); serviceEndpoint_ = null; } return serviceEndpointBuilder_; } private com.google.protobuf.BytesValue gossipCaCertificate_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BytesValue, com.google.protobuf.BytesValue.Builder, com.google.protobuf.BytesValueOrBuilder> gossipCaCertificateBuilder_; /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; * @return Whether the gossipCaCertificate field is set. */ public boolean hasGossipCaCertificate() { return ((bitField0_ & 0x00000020) != 0); } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; * @return The gossipCaCertificate. */ public com.google.protobuf.BytesValue getGossipCaCertificate() { if (gossipCaCertificateBuilder_ == null) { return gossipCaCertificate_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : gossipCaCertificate_; } else { return gossipCaCertificateBuilder_.getMessage(); } } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ public Builder setGossipCaCertificate(com.google.protobuf.BytesValue value) { if (gossipCaCertificateBuilder_ == null) { if (value == null) { throw new NullPointerException(); } gossipCaCertificate_ = value; } else { gossipCaCertificateBuilder_.setMessage(value); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ public Builder setGossipCaCertificate( com.google.protobuf.BytesValue.Builder builderForValue) { if (gossipCaCertificateBuilder_ == null) { gossipCaCertificate_ = builderForValue.build(); } else { gossipCaCertificateBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ public Builder mergeGossipCaCertificate(com.google.protobuf.BytesValue value) { if (gossipCaCertificateBuilder_ == null) { if (((bitField0_ & 0x00000020) != 0) && gossipCaCertificate_ != null && gossipCaCertificate_ != com.google.protobuf.BytesValue.getDefaultInstance()) { getGossipCaCertificateBuilder().mergeFrom(value); } else { gossipCaCertificate_ = value; } } else { gossipCaCertificateBuilder_.mergeFrom(value); } if (gossipCaCertificate_ != null) { bitField0_ |= 0x00000020; onChanged(); } return this; } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ public Builder clearGossipCaCertificate() { bitField0_ = (bitField0_ & ~0x00000020); gossipCaCertificate_ = null; if (gossipCaCertificateBuilder_ != null) { gossipCaCertificateBuilder_.dispose(); gossipCaCertificateBuilder_ = null; } onChanged(); return this; } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ public com.google.protobuf.BytesValue.Builder getGossipCaCertificateBuilder() { bitField0_ |= 0x00000020; onChanged(); return getGossipCaCertificateFieldBuilder().getBuilder(); } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ public com.google.protobuf.BytesValueOrBuilder getGossipCaCertificateOrBuilder() { if (gossipCaCertificateBuilder_ != null) { return gossipCaCertificateBuilder_.getMessageOrBuilder(); } else { return gossipCaCertificate_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : gossipCaCertificate_; } } /** *
     **
     * A certificate used to sign gossip events.
     * <p>
     * This value MUST be a certificate of a type permitted for gossip
     * signatures.<br/>
     * This value MUST be the DER encoding of the certificate presented.
     * <p>
     * If set, the new value SHALL replace the existing bytes value.
     * 
* * .google.protobuf.BytesValue gossip_ca_certificate = 6; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BytesValue, com.google.protobuf.BytesValue.Builder, com.google.protobuf.BytesValueOrBuilder> getGossipCaCertificateFieldBuilder() { if (gossipCaCertificateBuilder_ == null) { gossipCaCertificateBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BytesValue, com.google.protobuf.BytesValue.Builder, com.google.protobuf.BytesValueOrBuilder>( getGossipCaCertificate(), getParentForChildren(), isClean()); gossipCaCertificate_ = null; } return gossipCaCertificateBuilder_; } private com.google.protobuf.BytesValue grpcCertificateHash_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BytesValue, com.google.protobuf.BytesValue.Builder, com.google.protobuf.BytesValueOrBuilder> grpcCertificateHashBuilder_; /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; * @return Whether the grpcCertificateHash field is set. */ public boolean hasGrpcCertificateHash() { return ((bitField0_ & 0x00000040) != 0); } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; * @return The grpcCertificateHash. */ public com.google.protobuf.BytesValue getGrpcCertificateHash() { if (grpcCertificateHashBuilder_ == null) { return grpcCertificateHash_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : grpcCertificateHash_; } else { return grpcCertificateHashBuilder_.getMessage(); } } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ public Builder setGrpcCertificateHash(com.google.protobuf.BytesValue value) { if (grpcCertificateHashBuilder_ == null) { if (value == null) { throw new NullPointerException(); } grpcCertificateHash_ = value; } else { grpcCertificateHashBuilder_.setMessage(value); } bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ public Builder setGrpcCertificateHash( com.google.protobuf.BytesValue.Builder builderForValue) { if (grpcCertificateHashBuilder_ == null) { grpcCertificateHash_ = builderForValue.build(); } else { grpcCertificateHashBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ public Builder mergeGrpcCertificateHash(com.google.protobuf.BytesValue value) { if (grpcCertificateHashBuilder_ == null) { if (((bitField0_ & 0x00000040) != 0) && grpcCertificateHash_ != null && grpcCertificateHash_ != com.google.protobuf.BytesValue.getDefaultInstance()) { getGrpcCertificateHashBuilder().mergeFrom(value); } else { grpcCertificateHash_ = value; } } else { grpcCertificateHashBuilder_.mergeFrom(value); } if (grpcCertificateHash_ != null) { bitField0_ |= 0x00000040; onChanged(); } return this; } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ public Builder clearGrpcCertificateHash() { bitField0_ = (bitField0_ & ~0x00000040); grpcCertificateHash_ = null; if (grpcCertificateHashBuilder_ != null) { grpcCertificateHashBuilder_.dispose(); grpcCertificateHashBuilder_ = null; } onChanged(); return this; } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ public com.google.protobuf.BytesValue.Builder getGrpcCertificateHashBuilder() { bitField0_ |= 0x00000040; onChanged(); return getGrpcCertificateHashFieldBuilder().getBuilder(); } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ public com.google.protobuf.BytesValueOrBuilder getGrpcCertificateHashOrBuilder() { if (grpcCertificateHashBuilder_ != null) { return grpcCertificateHashBuilder_.getMessageOrBuilder(); } else { return grpcCertificateHash_ == null ? com.google.protobuf.BytesValue.getDefaultInstance() : grpcCertificateHash_; } } /** *
     **
     * A hash of the node gRPC TLS certificate.
     * <p>
     * This value MAY be used to verify the certificate presented by the node
     * during TLS negotiation for gRPC.<br/>
     * This value MUST be a SHA-384 hash.<br/>
     * The TLS certificate to be hashed MUST first be in PEM format and MUST be
     * encoded with UTF-8 NFKD encoding to a stream of bytes provided to
     * the hash algorithm.<br/>
     * <p>
     * If set, the new value SHALL replace the existing hash value.
     * 
* * .google.protobuf.BytesValue grpc_certificate_hash = 7; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BytesValue, com.google.protobuf.BytesValue.Builder, com.google.protobuf.BytesValueOrBuilder> getGrpcCertificateHashFieldBuilder() { if (grpcCertificateHashBuilder_ == null) { grpcCertificateHashBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.BytesValue, com.google.protobuf.BytesValue.Builder, com.google.protobuf.BytesValueOrBuilder>( getGrpcCertificateHash(), getParentForChildren(), isClean()); grpcCertificateHash_ = null; } return grpcCertificateHashBuilder_; } private com.hedera.hashgraph.sdk.proto.Key adminKey_; private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Key, com.hedera.hashgraph.sdk.proto.Key.Builder, com.hedera.hashgraph.sdk.proto.KeyOrBuilder> adminKeyBuilder_; /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; * @return Whether the adminKey field is set. */ public boolean hasAdminKey() { return ((bitField0_ & 0x00000080) != 0); } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; * @return The adminKey. */ public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { if (adminKeyBuilder_ == null) { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } else { return adminKeyBuilder_.getMessage(); } } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ public Builder setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { if (adminKeyBuilder_ == null) { if (value == null) { throw new NullPointerException(); } adminKey_ = value; } else { adminKeyBuilder_.setMessage(value); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ public Builder setAdminKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { if (adminKeyBuilder_ == null) { adminKey_ = builderForValue.build(); } else { adminKeyBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ public Builder mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { if (adminKeyBuilder_ == null) { if (((bitField0_ & 0x00000080) != 0) && adminKey_ != null && adminKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { getAdminKeyBuilder().mergeFrom(value); } else { adminKey_ = value; } } else { adminKeyBuilder_.mergeFrom(value); } if (adminKey_ != null) { bitField0_ |= 0x00000080; onChanged(); } return this; } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ public Builder clearAdminKey() { bitField0_ = (bitField0_ & ~0x00000080); adminKey_ = null; if (adminKeyBuilder_ != null) { adminKeyBuilder_.dispose(); adminKeyBuilder_ = null; } onChanged(); return this; } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ public com.hedera.hashgraph.sdk.proto.Key.Builder getAdminKeyBuilder() { bitField0_ |= 0x00000080; onChanged(); return getAdminKeyFieldBuilder().getBuilder(); } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ public com.hedera.hashgraph.sdk.proto.KeyOrBuilder getAdminKeyOrBuilder() { if (adminKeyBuilder_ != null) { return adminKeyBuilder_.getMessageOrBuilder(); } else { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } } /** *
     **
     * An administrative key controlled by the node operator.
     * <p>
     * This field is OPTIONAL.<br/>
     * If set, this key MUST sign this transaction.<br/>
     * If set, this key MUST sign each subsequent transaction to
     * update this node.<br/>
     * If set, this field MUST contain a valid `Key` value.<br/>
     * If set, this field MUST NOT be set to an empty `KeyList`.
     * 
* * .proto.Key admin_key = 8; */ private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Key, com.hedera.hashgraph.sdk.proto.Key.Builder, com.hedera.hashgraph.sdk.proto.KeyOrBuilder> getAdminKeyFieldBuilder() { if (adminKeyBuilder_ == null) { adminKeyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Key, com.hedera.hashgraph.sdk.proto.Key.Builder, com.hedera.hashgraph.sdk.proto.KeyOrBuilder>( getAdminKey(), getParentForChildren(), isClean()); adminKey_ = null; } return adminKeyBuilder_; } @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:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) } // @@protoc_insertion_point(class_scope:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) private static final com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody(); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public NodeUpdateTransactionBody 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.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy