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.4
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.GeneratedMessageLite< NodeUpdateTransactionBody, NodeUpdateTransactionBody.Builder> implements // @@protoc_insertion_point(message_implements:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) NodeUpdateTransactionBodyOrBuilder { private NodeUpdateTransactionBody() { gossipEndpoint_ = emptyProtobufList(); serviceEndpoint_ = emptyProtobufList(); } private int bitField0_; public static final int NODE_ID_FIELD_NUMBER = 1; 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. */ private void setNodeId(long value) { nodeId_ = value; } /** *
   **
   * 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; */ private void clearNodeId() { nodeId_ = 0L; } 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; */ @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; */ @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; */ private void setAccountId(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); accountId_ = value; bitField0_ |= 0x00000001; } /** *
   **
   * 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.SuppressWarnings({"ReferenceEquality"}) private void mergeAccountId(com.hedera.hashgraph.sdk.proto.AccountID value) { value.getClass(); if (accountId_ != null && accountId_ != com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance()) { accountId_ = com.hedera.hashgraph.sdk.proto.AccountID.newBuilder(accountId_).mergeFrom(value).buildPartial(); } else { accountId_ = value; } bitField0_ |= 0x00000001; } /** *
   **
   * 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 void clearAccountId() { accountId_ = null; bitField0_ = (bitField0_ & ~0x00000001); } 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; */ @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; */ @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; */ private void setDescription(com.google.protobuf.StringValue value) { value.getClass(); description_ = value; bitField0_ |= 0x00000002; } /** *
   **
   * 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.SuppressWarnings({"ReferenceEquality"}) private void mergeDescription(com.google.protobuf.StringValue value) { value.getClass(); if (description_ != null && description_ != com.google.protobuf.StringValue.getDefaultInstance()) { description_ = com.google.protobuf.StringValue.newBuilder(description_).mergeFrom(value).buildPartial(); } else { description_ = value; } bitField0_ |= 0x00000002; } /** *
   **
   * 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 void clearDescription() { description_ = null; bitField0_ = (bitField0_ & ~0x00000002); } public static final int GOSSIP_ENDPOINT_FIELD_NUMBER = 4; private com.google.protobuf.Internal.ProtobufList 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; */ 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; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder getGossipEndpointOrBuilder( int index) { return gossipEndpoint_.get(index); } private void ensureGossipEndpointIsMutable() { com.google.protobuf.Internal.ProtobufList tmp = gossipEndpoint_; if (!tmp.isModifiable()) { gossipEndpoint_ = com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp); } } /** *
   **
   * 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; */ private void setGossipEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { value.getClass(); ensureGossipEndpointIsMutable(); gossipEndpoint_.set(index, value); } /** *
   **
   * 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; */ private void addGossipEndpoint(com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { value.getClass(); ensureGossipEndpointIsMutable(); gossipEndpoint_.add(value); } /** *
   **
   * 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; */ private void addGossipEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { value.getClass(); ensureGossipEndpointIsMutable(); gossipEndpoint_.add(index, value); } /** *
   **
   * 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; */ private void addAllGossipEndpoint( java.lang.Iterable values) { ensureGossipEndpointIsMutable(); com.google.protobuf.AbstractMessageLite.addAll( values, 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; */ private void clearGossipEndpoint() { gossipEndpoint_ = emptyProtobufList(); } /** *
   **
   * 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; */ private void removeGossipEndpoint(int index) { ensureGossipEndpointIsMutable(); gossipEndpoint_.remove(index); } public static final int SERVICE_ENDPOINT_FIELD_NUMBER = 5; private com.google.protobuf.Internal.ProtobufList 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; */ 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; */ public com.hedera.hashgraph.sdk.proto.ServiceEndpointOrBuilder getServiceEndpointOrBuilder( int index) { return serviceEndpoint_.get(index); } private void ensureServiceEndpointIsMutable() { com.google.protobuf.Internal.ProtobufList tmp = serviceEndpoint_; if (!tmp.isModifiable()) { serviceEndpoint_ = com.google.protobuf.GeneratedMessageLite.mutableCopy(tmp); } } /** *
   **
   * 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; */ private void setServiceEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { value.getClass(); ensureServiceEndpointIsMutable(); serviceEndpoint_.set(index, value); } /** *
   **
   * 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; */ private void addServiceEndpoint(com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { value.getClass(); ensureServiceEndpointIsMutable(); serviceEndpoint_.add(value); } /** *
   **
   * 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; */ private void addServiceEndpoint( int index, com.hedera.hashgraph.sdk.proto.ServiceEndpoint value) { value.getClass(); ensureServiceEndpointIsMutable(); serviceEndpoint_.add(index, value); } /** *
   **
   * 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; */ private void addAllServiceEndpoint( java.lang.Iterable values) { ensureServiceEndpointIsMutable(); com.google.protobuf.AbstractMessageLite.addAll( values, 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; */ private void clearServiceEndpoint() { serviceEndpoint_ = emptyProtobufList(); } /** *
   **
   * 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; */ private void removeServiceEndpoint(int index) { ensureServiceEndpointIsMutable(); serviceEndpoint_.remove(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; */ @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; */ @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; */ private void setGossipCaCertificate(com.google.protobuf.BytesValue value) { value.getClass(); gossipCaCertificate_ = value; bitField0_ |= 0x00000004; } /** *
   **
   * 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.SuppressWarnings({"ReferenceEquality"}) private void mergeGossipCaCertificate(com.google.protobuf.BytesValue value) { value.getClass(); if (gossipCaCertificate_ != null && gossipCaCertificate_ != com.google.protobuf.BytesValue.getDefaultInstance()) { gossipCaCertificate_ = com.google.protobuf.BytesValue.newBuilder(gossipCaCertificate_).mergeFrom(value).buildPartial(); } else { gossipCaCertificate_ = value; } bitField0_ |= 0x00000004; } /** *
   **
   * 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 void clearGossipCaCertificate() { gossipCaCertificate_ = null; bitField0_ = (bitField0_ & ~0x00000004); } 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; */ @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; */ @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; */ private void setGrpcCertificateHash(com.google.protobuf.BytesValue value) { value.getClass(); grpcCertificateHash_ = value; bitField0_ |= 0x00000008; } /** *
   **
   * 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.SuppressWarnings({"ReferenceEquality"}) private void mergeGrpcCertificateHash(com.google.protobuf.BytesValue value) { value.getClass(); if (grpcCertificateHash_ != null && grpcCertificateHash_ != com.google.protobuf.BytesValue.getDefaultInstance()) { grpcCertificateHash_ = com.google.protobuf.BytesValue.newBuilder(grpcCertificateHash_).mergeFrom(value).buildPartial(); } else { grpcCertificateHash_ = value; } bitField0_ |= 0x00000008; } /** *
   **
   * 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 void clearGrpcCertificateHash() { grpcCertificateHash_ = null; bitField0_ = (bitField0_ & ~0x00000008); } 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; */ @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; */ @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; */ private void setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); adminKey_ = value; bitField0_ |= 0x00000010; } /** *
   **
   * 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.SuppressWarnings({"ReferenceEquality"}) private void mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { value.getClass(); if (adminKey_ != null && adminKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { adminKey_ = com.hedera.hashgraph.sdk.proto.Key.newBuilder(adminKey_).mergeFrom(value).buildPartial(); } else { adminKey_ = value; } bitField0_ |= 0x00000010; } /** *
   **
   * 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 void clearAdminKey() { adminKey_ = null; bitField0_ = (bitField0_ & ~0x00000010); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, 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 com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, 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 com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, 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.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, 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.GeneratedMessageLite.parseFrom( DEFAULT_INSTANCE, input, extensionRegistry); } public static Builder newBuilder() { return (Builder) DEFAULT_INSTANCE.createBuilder(); } public static Builder newBuilder(com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody prototype) { return DEFAULT_INSTANCE.createBuilder(prototype); } /** *
   **
   * 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.GeneratedMessageLite.Builder< com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody, Builder> implements // @@protoc_insertion_point(builder_implements:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBodyOrBuilder { // Construct using com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.newBuilder() private Builder() { super(DEFAULT_INSTANCE); } /** *
     **
     * 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 instance.getNodeId(); } /** *
     **
     * 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) { copyOnWrite(); instance.setNodeId(value); 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() { copyOnWrite(); instance.clearNodeId(); 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; */ @java.lang.Override public boolean hasAccountId() { return instance.hasAccountId(); } /** *
     **
     * 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.AccountID getAccountId() { return instance.getAccountId(); } /** *
     **
     * 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) { copyOnWrite(); instance.setAccountId(value); 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) { copyOnWrite(); instance.setAccountId(builderForValue.build()); 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) { copyOnWrite(); instance.mergeAccountId(value); 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() { copyOnWrite(); instance.clearAccountId(); 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; */ @java.lang.Override public boolean hasDescription() { return instance.hasDescription(); } /** *
     **
     * 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.StringValue getDescription() { return instance.getDescription(); } /** *
     **
     * 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) { copyOnWrite(); instance.setDescription(value); 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) { copyOnWrite(); instance.setDescription(builderForValue.build()); 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) { copyOnWrite(); instance.mergeDescription(value); 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() { copyOnWrite(); instance.clearDescription(); 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; */ @java.lang.Override public java.util.List getGossipEndpointList() { return java.util.Collections.unmodifiableList( instance.getGossipEndpointList()); } /** *
     **
     * 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 instance.getGossipEndpointCount(); }/** *
     **
     * 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 instance.getGossipEndpoint(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) { copyOnWrite(); instance.setGossipEndpoint(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) { copyOnWrite(); instance.setGossipEndpoint(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) { copyOnWrite(); instance.addGossipEndpoint(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) { copyOnWrite(); instance.addGossipEndpoint(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) { copyOnWrite(); instance.addGossipEndpoint(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) { copyOnWrite(); instance.addGossipEndpoint(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) { copyOnWrite(); instance.addAllGossipEndpoint(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() { copyOnWrite(); instance.clearGossipEndpoint(); 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) { copyOnWrite(); instance.removeGossipEndpoint(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; */ @java.lang.Override public java.util.List getServiceEndpointList() { return java.util.Collections.unmodifiableList( instance.getServiceEndpointList()); } /** *
     **
     * 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 instance.getServiceEndpointCount(); }/** *
     **
     * 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 instance.getServiceEndpoint(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) { copyOnWrite(); instance.setServiceEndpoint(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) { copyOnWrite(); instance.setServiceEndpoint(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) { copyOnWrite(); instance.addServiceEndpoint(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) { copyOnWrite(); instance.addServiceEndpoint(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) { copyOnWrite(); instance.addServiceEndpoint(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) { copyOnWrite(); instance.addServiceEndpoint(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) { copyOnWrite(); instance.addAllServiceEndpoint(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() { copyOnWrite(); instance.clearServiceEndpoint(); 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) { copyOnWrite(); instance.removeServiceEndpoint(index); 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; */ @java.lang.Override public boolean hasGossipCaCertificate() { return instance.hasGossipCaCertificate(); } /** *
     **
     * 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.BytesValue getGossipCaCertificate() { return instance.getGossipCaCertificate(); } /** *
     **
     * 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) { copyOnWrite(); instance.setGossipCaCertificate(value); 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) { copyOnWrite(); instance.setGossipCaCertificate(builderForValue.build()); 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) { copyOnWrite(); instance.mergeGossipCaCertificate(value); 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() { copyOnWrite(); instance.clearGossipCaCertificate(); 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; */ @java.lang.Override public boolean hasGrpcCertificateHash() { return instance.hasGrpcCertificateHash(); } /** *
     **
     * 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.BytesValue getGrpcCertificateHash() { return instance.getGrpcCertificateHash(); } /** *
     **
     * 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) { copyOnWrite(); instance.setGrpcCertificateHash(value); 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) { copyOnWrite(); instance.setGrpcCertificateHash(builderForValue.build()); 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) { copyOnWrite(); instance.mergeGrpcCertificateHash(value); 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() { copyOnWrite(); instance.clearGrpcCertificateHash(); 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; */ @java.lang.Override public boolean hasAdminKey() { return instance.hasAdminKey(); } /** *
     **
     * 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.Key getAdminKey() { return instance.getAdminKey(); } /** *
     **
     * 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) { copyOnWrite(); instance.setAdminKey(value); 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) { copyOnWrite(); instance.setAdminKey(builderForValue.build()); 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) { copyOnWrite(); instance.mergeAdminKey(value); 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() { copyOnWrite(); instance.clearAdminKey(); return this; } // @@protoc_insertion_point(builder_scope:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) } @java.lang.Override @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) protected final java.lang.Object dynamicMethod( com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, java.lang.Object arg0, java.lang.Object arg1) { switch (method) { case NEW_MUTABLE_INSTANCE: { return new com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody(); } case NEW_BUILDER: { return new Builder(); } case BUILD_MESSAGE_INFO: { java.lang.Object[] objects = new java.lang.Object[] { "bitField0_", "nodeId_", "accountId_", "description_", "gossipEndpoint_", com.hedera.hashgraph.sdk.proto.ServiceEndpoint.class, "serviceEndpoint_", com.hedera.hashgraph.sdk.proto.ServiceEndpoint.class, "gossipCaCertificate_", "grpcCertificateHash_", "adminKey_", }; java.lang.String info = "\u0000\b\u0000\u0001\u0001\b\b\u0000\u0002\u0000\u0001\u0003\u0002\u1009\u0000\u0003" + "\u1009\u0001\u0004\u001b\u0005\u001b\u0006\u1009\u0002\u0007\u1009\u0003\b\u1009" + "\u0004"; return newMessageInfo(DEFAULT_INSTANCE, info, objects); } // fall through case GET_DEFAULT_INSTANCE: { return DEFAULT_INSTANCE; } case GET_PARSER: { com.google.protobuf.Parser parser = PARSER; if (parser == null) { synchronized (com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody.class) { parser = PARSER; if (parser == null) { parser = new DefaultInstanceBasedParser( DEFAULT_INSTANCE); PARSER = parser; } } } return parser; } case GET_MEMOIZED_IS_INITIALIZED: { return (byte) 1; } case SET_MEMOIZED_IS_INITIALIZED: { return null; } } throw new UnsupportedOperationException(); } // @@protoc_insertion_point(class_scope:com.hedera.hapi.node.addressbook.NodeUpdateTransactionBody) private static final com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody DEFAULT_INSTANCE; static { NodeUpdateTransactionBody defaultInstance = new NodeUpdateTransactionBody(); // New instances are implicitly immutable so no need to make // immutable. DEFAULT_INSTANCE = defaultInstance; com.google.protobuf.GeneratedMessageLite.registerDefaultInstance( NodeUpdateTransactionBody.class, defaultInstance); } public static com.hedera.hashgraph.sdk.proto.NodeUpdateTransactionBody getDefaultInstance() { return DEFAULT_INSTANCE; } private static volatile com.google.protobuf.Parser PARSER; public static com.google.protobuf.Parser parser() { return DEFAULT_INSTANCE.getParserForType(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy