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

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

There is a newer version: 2.40.0
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: schedule_create.proto

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

/**
 * 
 **
 * Create a new <i>schedule entity</i> (or simply, <i>schedule</i>) in the network's action queue.
 * Upon <tt>SUCCESS</tt>, the receipt contains the `ScheduleID` of the created schedule. A schedule
 * entity includes a <tt>scheduledTransactionBody</tt> to be executed.
 * When the schedule has collected enough signing Ed25519 keys to satisfy the schedule's signing
 * requirements, the schedule can be executed.
 *
 * If Long Term Scheduled Transactions are enabled and <tt>wait_for_expiry</tt> is set to <tt>true</tt>, then the schedule
 * will execute at it's <tt>expiration_time</tt>.
 *
 * Otherwise it will execute immediately after the transaction that provided enough Ed25519 keys, a <tt>ScheduleCreate</tt>
 * or <tt>ScheduleSign</tt>.
 *
 * Upon `SUCCESS`, the receipt also includes the <tt>scheduledTransactionID</tt> to
 * use to query for the record of the scheduled transaction's execution (if it occurs). 
 * 
 * The expiration time of a schedule is controlled by it's <tt>expiration_time</tt>. It remains in state and can be queried
 * using <tt>GetScheduleInfo</tt> until expiration, no matter if the scheduled transaction has
 * executed or marked deleted. If Long Term Scheduled Transactions are disabled, the <tt>expiration_time</tt> is always
 * 30 minutes in the future.
 * 
 * If the <tt>adminKey</tt> field is omitted, the resulting schedule is immutable. If the
 * <tt>adminKey</tt> is set, the <tt>ScheduleDelete</tt> transaction can be used to mark it as
 * deleted. The creator may also specify an optional <tt>memo</tt> whose UTF-8 encoding is at most
 * 100 bytes and does not include the zero byte is also supported.
 * 
 * When a <tt>scheduledTransactionBody</tt> is executed, the
 * network only charges its payer the service fee, and not the node and network fees. If the
 * optional <tt>payerAccountID</tt> is set, the network charges this account. Otherwise it charges
 * the payer of the originating <tt>ScheduleCreate</tt>.  
 * 
 * Two <tt>ScheduleCreate</tt> transactions are <i>identical</i> if they are equal in all their
 * fields other than <tt>payerAccountID</tt>.  (For the <tt>scheduledTransactionBody</tt> field,
 * "equal" should be understood in the sense of
 * gRPC object equality in the network software runtime. In particular, a gRPC object with <a
 * href="https://developers.google.com/protocol-buffers/docs/proto3#unknowns">unknown fields</a> is
 * not equal to a gRPC object without unknown fields, even if they agree on all known fields.) 
 * 
 * A <tt>ScheduleCreate</tt> transaction that attempts to re-create an identical schedule already in
 * state will receive a receipt with status <tt>IDENTICAL_SCHEDULE_ALREADY_CREATED</tt>; the receipt
 * will include the <tt>ScheduleID</tt> of the extant schedule, which may be used in a subsequent
 * <tt>ScheduleSign</tt> transaction. (The receipt will also include the <tt>TransactionID</tt> to
 * use in querying for the receipt or record of the scheduled transaction.)
 * 
 * Other notable response codes include, <tt>INVALID_ACCOUNT_ID</tt>,
 * <tt>UNSCHEDULABLE_TRANSACTION</tt>, <tt>UNRESOLVABLE_REQUIRED_SIGNERS</tt>,
 * <tt>INVALID_SIGNATURE</tt>. For more information please see the section of this documentation on
 * the <tt>ResponseCode</tt> enum. 
 * 
* * Protobuf type {@code proto.ScheduleCreateTransactionBody} */ public final class ScheduleCreateTransactionBody extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:proto.ScheduleCreateTransactionBody) ScheduleCreateTransactionBodyOrBuilder { private static final long serialVersionUID = 0L; // Use ScheduleCreateTransactionBody.newBuilder() to construct. private ScheduleCreateTransactionBody(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private ScheduleCreateTransactionBody() { memo_ = ""; } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ScheduleCreateTransactionBody(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.hedera.hashgraph.sdk.proto.ScheduleCreate.internal_static_proto_ScheduleCreateTransactionBody_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.hedera.hashgraph.sdk.proto.ScheduleCreate.internal_static_proto_ScheduleCreateTransactionBody_fieldAccessorTable .ensureFieldAccessorsInitialized( com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.class, com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.Builder.class); } private int bitField0_; public static final int SCHEDULEDTRANSACTIONBODY_FIELD_NUMBER = 1; private com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody scheduledTransactionBody_; /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; * @return Whether the scheduledTransactionBody field is set. */ @java.lang.Override public boolean hasScheduledTransactionBody() { return ((bitField0_ & 0x00000001) != 0); } /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; * @return The scheduledTransactionBody. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody getScheduledTransactionBody() { return scheduledTransactionBody_ == null ? com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance() : scheduledTransactionBody_; } /** *
   **
   * The scheduled transaction
   * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBodyOrBuilder getScheduledTransactionBodyOrBuilder() { return scheduledTransactionBody_ == null ? com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance() : scheduledTransactionBody_; } public static final int MEMO_FIELD_NUMBER = 2; @SuppressWarnings("serial") private volatile java.lang.Object memo_ = ""; /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; * @return The memo. */ @java.lang.Override public java.lang.String getMemo() { java.lang.Object ref = memo_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); memo_ = s; return s; } } /** *
   **
   * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
   * zero byte
   * 
* * string memo = 2; * @return The bytes for memo. */ @java.lang.Override public com.google.protobuf.ByteString getMemoBytes() { java.lang.Object ref = memo_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); memo_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int ADMINKEY_FIELD_NUMBER = 3; private com.hedera.hashgraph.sdk.proto.Key adminKey_; /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; * @return Whether the adminKey field is set. */ @java.lang.Override public boolean hasAdminKey() { return ((bitField0_ & 0x00000002) != 0); } /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; * @return The adminKey. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } /** *
   **
   * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
   * 
* * .proto.Key adminKey = 3; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.KeyOrBuilder getAdminKeyOrBuilder() { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } public static final int PAYERACCOUNTID_FIELD_NUMBER = 4; private com.hedera.hashgraph.sdk.proto.AccountID payerAccountID_; /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; * @return Whether the payerAccountID field is set. */ @java.lang.Override public boolean hasPayerAccountID() { return ((bitField0_ & 0x00000004) != 0); } /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; * @return The payerAccountID. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountID getPayerAccountID() { return payerAccountID_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : payerAccountID_; } /** *
   **
   * An optional id of the account to be charged the service fee for the scheduled transaction at
   * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
   * given
   * 
* * .proto.AccountID payerAccountID = 4; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder getPayerAccountIDOrBuilder() { return payerAccountID_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : payerAccountID_; } public static final int EXPIRATION_TIME_FIELD_NUMBER = 5; private com.hedera.hashgraph.sdk.proto.Timestamp expirationTime_; /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   *
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; * @return Whether the expirationTime field is set. */ @java.lang.Override public boolean hasExpirationTime() { return ((bitField0_ & 0x00000008) != 0); } /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   *
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; * @return The expirationTime. */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.Timestamp getExpirationTime() { return expirationTime_ == null ? com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance() : expirationTime_; } /** *
   **
   * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
   * Defaults to 30 minutes after the transaction's consensus timestamp.
   *
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
   *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
   * 
* * .proto.Timestamp expiration_time = 5; */ @java.lang.Override public com.hedera.hashgraph.sdk.proto.TimestampOrBuilder getExpirationTimeOrBuilder() { return expirationTime_ == null ? com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance() : expirationTime_; } public static final int WAIT_FOR_EXPIRY_FIELD_NUMBER = 13; private boolean waitForExpiry_ = false; /** *
   **
   * When set to true, the transaction will be evaluated for execution at expiration_time instead
   * of when all required signatures are received.
   * When set to false, the transaction will execute immediately after sufficient signatures are received
   * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
   *
   * Defaults to false.
   *
   * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
   *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
   *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
   *  ScheduleSign comes in to "poke" it and force it to go through immediately.
   *
   * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
   *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
   *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
   *       expire at expiration_time.
   * 
* * bool wait_for_expiry = 13; * @return The waitForExpiry. */ @java.lang.Override public boolean getWaitForExpiry() { return waitForExpiry_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { output.writeMessage(1, getScheduledTransactionBody()); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(memo_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, memo_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeMessage(3, getAdminKey()); } if (((bitField0_ & 0x00000004) != 0)) { output.writeMessage(4, getPayerAccountID()); } if (((bitField0_ & 0x00000008) != 0)) { output.writeMessage(5, getExpirationTime()); } if (waitForExpiry_ != false) { output.writeBool(13, waitForExpiry_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(1, getScheduledTransactionBody()); } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(memo_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, memo_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(3, getAdminKey()); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(4, getPayerAccountID()); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(5, getExpirationTime()); } if (waitForExpiry_ != false) { size += com.google.protobuf.CodedOutputStream .computeBoolSize(13, waitForExpiry_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody)) { return super.equals(obj); } com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody other = (com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody) obj; if (hasScheduledTransactionBody() != other.hasScheduledTransactionBody()) return false; if (hasScheduledTransactionBody()) { if (!getScheduledTransactionBody() .equals(other.getScheduledTransactionBody())) return false; } if (!getMemo() .equals(other.getMemo())) return false; if (hasAdminKey() != other.hasAdminKey()) return false; if (hasAdminKey()) { if (!getAdminKey() .equals(other.getAdminKey())) return false; } if (hasPayerAccountID() != other.hasPayerAccountID()) return false; if (hasPayerAccountID()) { if (!getPayerAccountID() .equals(other.getPayerAccountID())) return false; } if (hasExpirationTime() != other.hasExpirationTime()) return false; if (hasExpirationTime()) { if (!getExpirationTime() .equals(other.getExpirationTime())) return false; } if (getWaitForExpiry() != other.getWaitForExpiry()) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasScheduledTransactionBody()) { hash = (37 * hash) + SCHEDULEDTRANSACTIONBODY_FIELD_NUMBER; hash = (53 * hash) + getScheduledTransactionBody().hashCode(); } hash = (37 * hash) + MEMO_FIELD_NUMBER; hash = (53 * hash) + getMemo().hashCode(); if (hasAdminKey()) { hash = (37 * hash) + ADMINKEY_FIELD_NUMBER; hash = (53 * hash) + getAdminKey().hashCode(); } if (hasPayerAccountID()) { hash = (37 * hash) + PAYERACCOUNTID_FIELD_NUMBER; hash = (53 * hash) + getPayerAccountID().hashCode(); } if (hasExpirationTime()) { hash = (37 * hash) + EXPIRATION_TIME_FIELD_NUMBER; hash = (53 * hash) + getExpirationTime().hashCode(); } hash = (37 * hash) + WAIT_FOR_EXPIRY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean( getWaitForExpiry()); hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   **
   * Create a new <i>schedule entity</i> (or simply, <i>schedule</i>) in the network's action queue.
   * Upon <tt>SUCCESS</tt>, the receipt contains the `ScheduleID` of the created schedule. A schedule
   * entity includes a <tt>scheduledTransactionBody</tt> to be executed.
   * When the schedule has collected enough signing Ed25519 keys to satisfy the schedule's signing
   * requirements, the schedule can be executed.
   *
   * If Long Term Scheduled Transactions are enabled and <tt>wait_for_expiry</tt> is set to <tt>true</tt>, then the schedule
   * will execute at it's <tt>expiration_time</tt>.
   *
   * Otherwise it will execute immediately after the transaction that provided enough Ed25519 keys, a <tt>ScheduleCreate</tt>
   * or <tt>ScheduleSign</tt>.
   *
   * Upon `SUCCESS`, the receipt also includes the <tt>scheduledTransactionID</tt> to
   * use to query for the record of the scheduled transaction's execution (if it occurs). 
   * 
   * The expiration time of a schedule is controlled by it's <tt>expiration_time</tt>. It remains in state and can be queried
   * using <tt>GetScheduleInfo</tt> until expiration, no matter if the scheduled transaction has
   * executed or marked deleted. If Long Term Scheduled Transactions are disabled, the <tt>expiration_time</tt> is always
   * 30 minutes in the future.
   * 
   * If the <tt>adminKey</tt> field is omitted, the resulting schedule is immutable. If the
   * <tt>adminKey</tt> is set, the <tt>ScheduleDelete</tt> transaction can be used to mark it as
   * deleted. The creator may also specify an optional <tt>memo</tt> whose UTF-8 encoding is at most
   * 100 bytes and does not include the zero byte is also supported.
   * 
   * When a <tt>scheduledTransactionBody</tt> is executed, the
   * network only charges its payer the service fee, and not the node and network fees. If the
   * optional <tt>payerAccountID</tt> is set, the network charges this account. Otherwise it charges
   * the payer of the originating <tt>ScheduleCreate</tt>.  
   * 
   * Two <tt>ScheduleCreate</tt> transactions are <i>identical</i> if they are equal in all their
   * fields other than <tt>payerAccountID</tt>.  (For the <tt>scheduledTransactionBody</tt> field,
   * "equal" should be understood in the sense of
   * gRPC object equality in the network software runtime. In particular, a gRPC object with <a
   * href="https://developers.google.com/protocol-buffers/docs/proto3#unknowns">unknown fields</a> is
   * not equal to a gRPC object without unknown fields, even if they agree on all known fields.) 
   * 
   * A <tt>ScheduleCreate</tt> transaction that attempts to re-create an identical schedule already in
   * state will receive a receipt with status <tt>IDENTICAL_SCHEDULE_ALREADY_CREATED</tt>; the receipt
   * will include the <tt>ScheduleID</tt> of the extant schedule, which may be used in a subsequent
   * <tt>ScheduleSign</tt> transaction. (The receipt will also include the <tt>TransactionID</tt> to
   * use in querying for the receipt or record of the scheduled transaction.)
   * 
   * Other notable response codes include, <tt>INVALID_ACCOUNT_ID</tt>,
   * <tt>UNSCHEDULABLE_TRANSACTION</tt>, <tt>UNRESOLVABLE_REQUIRED_SIGNERS</tt>,
   * <tt>INVALID_SIGNATURE</tt>. For more information please see the section of this documentation on
   * the <tt>ResponseCode</tt> enum. 
   * 
* * Protobuf type {@code proto.ScheduleCreateTransactionBody} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:proto.ScheduleCreateTransactionBody) com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBodyOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.hedera.hashgraph.sdk.proto.ScheduleCreate.internal_static_proto_ScheduleCreateTransactionBody_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.hedera.hashgraph.sdk.proto.ScheduleCreate.internal_static_proto_ScheduleCreateTransactionBody_fieldAccessorTable .ensureFieldAccessorsInitialized( com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.class, com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.Builder.class); } // Construct using com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getScheduledTransactionBodyFieldBuilder(); getAdminKeyFieldBuilder(); getPayerAccountIDFieldBuilder(); getExpirationTimeFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; scheduledTransactionBody_ = null; if (scheduledTransactionBodyBuilder_ != null) { scheduledTransactionBodyBuilder_.dispose(); scheduledTransactionBodyBuilder_ = null; } memo_ = ""; adminKey_ = null; if (adminKeyBuilder_ != null) { adminKeyBuilder_.dispose(); adminKeyBuilder_ = null; } payerAccountID_ = null; if (payerAccountIDBuilder_ != null) { payerAccountIDBuilder_.dispose(); payerAccountIDBuilder_ = null; } expirationTime_ = null; if (expirationTimeBuilder_ != null) { expirationTimeBuilder_.dispose(); expirationTimeBuilder_ = null; } waitForExpiry_ = false; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.hedera.hashgraph.sdk.proto.ScheduleCreate.internal_static_proto_ScheduleCreateTransactionBody_descriptor; } @java.lang.Override public com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody getDefaultInstanceForType() { return com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.getDefaultInstance(); } @java.lang.Override public com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody build() { com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody buildPartial() { com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody result = new com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody(this); if (bitField0_ != 0) { buildPartial0(result); } onBuilt(); return result; } private void buildPartial0(com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.scheduledTransactionBody_ = scheduledTransactionBodyBuilder_ == null ? scheduledTransactionBody_ : scheduledTransactionBodyBuilder_.build(); to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.memo_ = memo_; } if (((from_bitField0_ & 0x00000004) != 0)) { result.adminKey_ = adminKeyBuilder_ == null ? adminKey_ : adminKeyBuilder_.build(); to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000008) != 0)) { result.payerAccountID_ = payerAccountIDBuilder_ == null ? payerAccountID_ : payerAccountIDBuilder_.build(); to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000010) != 0)) { result.expirationTime_ = expirationTimeBuilder_ == null ? expirationTime_ : expirationTimeBuilder_.build(); to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000020) != 0)) { result.waitForExpiry_ = waitForExpiry_; } result.bitField0_ |= to_bitField0_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody) { return mergeFrom((com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody other) { if (other == com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody.getDefaultInstance()) return this; if (other.hasScheduledTransactionBody()) { mergeScheduledTransactionBody(other.getScheduledTransactionBody()); } if (!other.getMemo().isEmpty()) { memo_ = other.memo_; bitField0_ |= 0x00000002; onChanged(); } if (other.hasAdminKey()) { mergeAdminKey(other.getAdminKey()); } if (other.hasPayerAccountID()) { mergePayerAccountID(other.getPayerAccountID()); } if (other.hasExpirationTime()) { mergeExpirationTime(other.getExpirationTime()); } if (other.getWaitForExpiry() != false) { setWaitForExpiry(other.getWaitForExpiry()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 10: { input.readMessage( getScheduledTransactionBodyFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000001; break; } // case 10 case 18: { memo_ = input.readStringRequireUtf8(); bitField0_ |= 0x00000002; break; } // case 18 case 26: { input.readMessage( getAdminKeyFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000004; break; } // case 26 case 34: { input.readMessage( getPayerAccountIDFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000008; break; } // case 34 case 42: { input.readMessage( getExpirationTimeFieldBuilder().getBuilder(), extensionRegistry); bitField0_ |= 0x00000010; break; } // case 42 case 104: { waitForExpiry_ = input.readBool(); bitField0_ |= 0x00000020; break; } // case 104 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody scheduledTransactionBody_; private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody, com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.Builder, com.hedera.hashgraph.sdk.proto.SchedulableTransactionBodyOrBuilder> scheduledTransactionBodyBuilder_; /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; * @return Whether the scheduledTransactionBody field is set. */ public boolean hasScheduledTransactionBody() { return ((bitField0_ & 0x00000001) != 0); } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; * @return The scheduledTransactionBody. */ public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody getScheduledTransactionBody() { if (scheduledTransactionBodyBuilder_ == null) { return scheduledTransactionBody_ == null ? com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance() : scheduledTransactionBody_; } else { return scheduledTransactionBodyBuilder_.getMessage(); } } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder setScheduledTransactionBody(com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody value) { if (scheduledTransactionBodyBuilder_ == null) { if (value == null) { throw new NullPointerException(); } scheduledTransactionBody_ = value; } else { scheduledTransactionBodyBuilder_.setMessage(value); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder setScheduledTransactionBody( com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.Builder builderForValue) { if (scheduledTransactionBodyBuilder_ == null) { scheduledTransactionBody_ = builderForValue.build(); } else { scheduledTransactionBodyBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder mergeScheduledTransactionBody(com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody value) { if (scheduledTransactionBodyBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && scheduledTransactionBody_ != null && scheduledTransactionBody_ != com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance()) { getScheduledTransactionBodyBuilder().mergeFrom(value); } else { scheduledTransactionBody_ = value; } } else { scheduledTransactionBodyBuilder_.mergeFrom(value); } if (scheduledTransactionBody_ != null) { bitField0_ |= 0x00000001; onChanged(); } return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public Builder clearScheduledTransactionBody() { bitField0_ = (bitField0_ & ~0x00000001); scheduledTransactionBody_ = null; if (scheduledTransactionBodyBuilder_ != null) { scheduledTransactionBodyBuilder_.dispose(); scheduledTransactionBodyBuilder_ = null; } onChanged(); return this; } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.Builder getScheduledTransactionBodyBuilder() { bitField0_ |= 0x00000001; onChanged(); return getScheduledTransactionBodyFieldBuilder().getBuilder(); } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ public com.hedera.hashgraph.sdk.proto.SchedulableTransactionBodyOrBuilder getScheduledTransactionBodyOrBuilder() { if (scheduledTransactionBodyBuilder_ != null) { return scheduledTransactionBodyBuilder_.getMessageOrBuilder(); } else { return scheduledTransactionBody_ == null ? com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.getDefaultInstance() : scheduledTransactionBody_; } } /** *
     **
     * The scheduled transaction
     * 
* * .proto.SchedulableTransactionBody scheduledTransactionBody = 1; */ private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody, com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.Builder, com.hedera.hashgraph.sdk.proto.SchedulableTransactionBodyOrBuilder> getScheduledTransactionBodyFieldBuilder() { if (scheduledTransactionBodyBuilder_ == null) { scheduledTransactionBodyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody, com.hedera.hashgraph.sdk.proto.SchedulableTransactionBody.Builder, com.hedera.hashgraph.sdk.proto.SchedulableTransactionBodyOrBuilder>( getScheduledTransactionBody(), getParentForChildren(), isClean()); scheduledTransactionBody_ = null; } return scheduledTransactionBodyBuilder_; } private java.lang.Object memo_ = ""; /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @return The memo. */ public java.lang.String getMemo() { java.lang.Object ref = memo_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); memo_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @return The bytes for memo. */ public com.google.protobuf.ByteString getMemoBytes() { java.lang.Object ref = memo_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); memo_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @param value The memo to set. * @return This builder for chaining. */ public Builder setMemo( java.lang.String value) { if (value == null) { throw new NullPointerException(); } memo_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @return This builder for chaining. */ public Builder clearMemo() { memo_ = getDefaultInstance().getMemo(); bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } /** *
     **
     * An optional memo with a UTF-8 encoding of no more than 100 bytes which does not contain the
     * zero byte
     * 
* * string memo = 2; * @param value The bytes for memo to set. * @return This builder for chaining. */ public Builder setMemoBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); memo_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } private com.hedera.hashgraph.sdk.proto.Key adminKey_; private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Key, com.hedera.hashgraph.sdk.proto.Key.Builder, com.hedera.hashgraph.sdk.proto.KeyOrBuilder> adminKeyBuilder_; /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; * @return Whether the adminKey field is set. */ public boolean hasAdminKey() { return ((bitField0_ & 0x00000004) != 0); } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; * @return The adminKey. */ public com.hedera.hashgraph.sdk.proto.Key getAdminKey() { if (adminKeyBuilder_ == null) { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } else { return adminKeyBuilder_.getMessage(); } } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder setAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { if (adminKeyBuilder_ == null) { if (value == null) { throw new NullPointerException(); } adminKey_ = value; } else { adminKeyBuilder_.setMessage(value); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder setAdminKey( com.hedera.hashgraph.sdk.proto.Key.Builder builderForValue) { if (adminKeyBuilder_ == null) { adminKey_ = builderForValue.build(); } else { adminKeyBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder mergeAdminKey(com.hedera.hashgraph.sdk.proto.Key value) { if (adminKeyBuilder_ == null) { if (((bitField0_ & 0x00000004) != 0) && adminKey_ != null && adminKey_ != com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance()) { getAdminKeyBuilder().mergeFrom(value); } else { adminKey_ = value; } } else { adminKeyBuilder_.mergeFrom(value); } if (adminKey_ != null) { bitField0_ |= 0x00000004; onChanged(); } return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public Builder clearAdminKey() { bitField0_ = (bitField0_ & ~0x00000004); adminKey_ = null; if (adminKeyBuilder_ != null) { adminKeyBuilder_.dispose(); adminKeyBuilder_ = null; } onChanged(); return this; } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public com.hedera.hashgraph.sdk.proto.Key.Builder getAdminKeyBuilder() { bitField0_ |= 0x00000004; onChanged(); return getAdminKeyFieldBuilder().getBuilder(); } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ public com.hedera.hashgraph.sdk.proto.KeyOrBuilder getAdminKeyOrBuilder() { if (adminKeyBuilder_ != null) { return adminKeyBuilder_.getMessageOrBuilder(); } else { return adminKey_ == null ? com.hedera.hashgraph.sdk.proto.Key.getDefaultInstance() : adminKey_; } } /** *
     **
     * An optional Hedera key which can be used to sign a ScheduleDelete and remove the schedule
     * 
* * .proto.Key adminKey = 3; */ private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Key, com.hedera.hashgraph.sdk.proto.Key.Builder, com.hedera.hashgraph.sdk.proto.KeyOrBuilder> getAdminKeyFieldBuilder() { if (adminKeyBuilder_ == null) { adminKeyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Key, com.hedera.hashgraph.sdk.proto.Key.Builder, com.hedera.hashgraph.sdk.proto.KeyOrBuilder>( getAdminKey(), getParentForChildren(), isClean()); adminKey_ = null; } return adminKeyBuilder_; } private com.hedera.hashgraph.sdk.proto.AccountID payerAccountID_; private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.AccountID, com.hedera.hashgraph.sdk.proto.AccountID.Builder, com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder> payerAccountIDBuilder_; /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; * @return Whether the payerAccountID field is set. */ public boolean hasPayerAccountID() { return ((bitField0_ & 0x00000008) != 0); } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; * @return The payerAccountID. */ public com.hedera.hashgraph.sdk.proto.AccountID getPayerAccountID() { if (payerAccountIDBuilder_ == null) { return payerAccountID_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : payerAccountID_; } else { return payerAccountIDBuilder_.getMessage(); } } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder setPayerAccountID(com.hedera.hashgraph.sdk.proto.AccountID value) { if (payerAccountIDBuilder_ == null) { if (value == null) { throw new NullPointerException(); } payerAccountID_ = value; } else { payerAccountIDBuilder_.setMessage(value); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder setPayerAccountID( com.hedera.hashgraph.sdk.proto.AccountID.Builder builderForValue) { if (payerAccountIDBuilder_ == null) { payerAccountID_ = builderForValue.build(); } else { payerAccountIDBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder mergePayerAccountID(com.hedera.hashgraph.sdk.proto.AccountID value) { if (payerAccountIDBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0) && payerAccountID_ != null && payerAccountID_ != com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance()) { getPayerAccountIDBuilder().mergeFrom(value); } else { payerAccountID_ = value; } } else { payerAccountIDBuilder_.mergeFrom(value); } if (payerAccountID_ != null) { bitField0_ |= 0x00000008; onChanged(); } return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public Builder clearPayerAccountID() { bitField0_ = (bitField0_ & ~0x00000008); payerAccountID_ = null; if (payerAccountIDBuilder_ != null) { payerAccountIDBuilder_.dispose(); payerAccountIDBuilder_ = null; } onChanged(); return this; } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public com.hedera.hashgraph.sdk.proto.AccountID.Builder getPayerAccountIDBuilder() { bitField0_ |= 0x00000008; onChanged(); return getPayerAccountIDFieldBuilder().getBuilder(); } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ public com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder getPayerAccountIDOrBuilder() { if (payerAccountIDBuilder_ != null) { return payerAccountIDBuilder_.getMessageOrBuilder(); } else { return payerAccountID_ == null ? com.hedera.hashgraph.sdk.proto.AccountID.getDefaultInstance() : payerAccountID_; } } /** *
     **
     * An optional id of the account to be charged the service fee for the scheduled transaction at
     * the consensus time that it executes (if ever); defaults to the ScheduleCreate payer if not
     * given
     * 
* * .proto.AccountID payerAccountID = 4; */ private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.AccountID, com.hedera.hashgraph.sdk.proto.AccountID.Builder, com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder> getPayerAccountIDFieldBuilder() { if (payerAccountIDBuilder_ == null) { payerAccountIDBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.AccountID, com.hedera.hashgraph.sdk.proto.AccountID.Builder, com.hedera.hashgraph.sdk.proto.AccountIDOrBuilder>( getPayerAccountID(), getParentForChildren(), isClean()); payerAccountID_ = null; } return payerAccountIDBuilder_; } private com.hedera.hashgraph.sdk.proto.Timestamp expirationTime_; private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Timestamp, com.hedera.hashgraph.sdk.proto.Timestamp.Builder, com.hedera.hashgraph.sdk.proto.TimestampOrBuilder> expirationTimeBuilder_; /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; * @return Whether the expirationTime field is set. */ public boolean hasExpirationTime() { return ((bitField0_ & 0x00000010) != 0); } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; * @return The expirationTime. */ public com.hedera.hashgraph.sdk.proto.Timestamp getExpirationTime() { if (expirationTimeBuilder_ == null) { return expirationTime_ == null ? com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance() : expirationTime_; } else { return expirationTimeBuilder_.getMessage(); } } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder setExpirationTime(com.hedera.hashgraph.sdk.proto.Timestamp value) { if (expirationTimeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } expirationTime_ = value; } else { expirationTimeBuilder_.setMessage(value); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder setExpirationTime( com.hedera.hashgraph.sdk.proto.Timestamp.Builder builderForValue) { if (expirationTimeBuilder_ == null) { expirationTime_ = builderForValue.build(); } else { expirationTimeBuilder_.setMessage(builderForValue.build()); } bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder mergeExpirationTime(com.hedera.hashgraph.sdk.proto.Timestamp value) { if (expirationTimeBuilder_ == null) { if (((bitField0_ & 0x00000010) != 0) && expirationTime_ != null && expirationTime_ != com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance()) { getExpirationTimeBuilder().mergeFrom(value); } else { expirationTime_ = value; } } else { expirationTimeBuilder_.mergeFrom(value); } if (expirationTime_ != null) { bitField0_ |= 0x00000010; onChanged(); } return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public Builder clearExpirationTime() { bitField0_ = (bitField0_ & ~0x00000010); expirationTime_ = null; if (expirationTimeBuilder_ != null) { expirationTimeBuilder_.dispose(); expirationTimeBuilder_ = null; } onChanged(); return this; } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public com.hedera.hashgraph.sdk.proto.Timestamp.Builder getExpirationTimeBuilder() { bitField0_ |= 0x00000010; onChanged(); return getExpirationTimeFieldBuilder().getBuilder(); } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ public com.hedera.hashgraph.sdk.proto.TimestampOrBuilder getExpirationTimeOrBuilder() { if (expirationTimeBuilder_ != null) { return expirationTimeBuilder_.getMessageOrBuilder(); } else { return expirationTime_ == null ? com.hedera.hashgraph.sdk.proto.Timestamp.getDefaultInstance() : expirationTime_; } } /** *
     **
     * An optional timestamp for specifying when the transaction should be evaluated for execution and then expire.
     * Defaults to 30 minutes after the transaction's consensus timestamp.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled - Transactions will always
     *       expire in 30 minutes if Long Term Scheduled Transactions are not enabled.
     * 
* * .proto.Timestamp expiration_time = 5; */ private com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Timestamp, com.hedera.hashgraph.sdk.proto.Timestamp.Builder, com.hedera.hashgraph.sdk.proto.TimestampOrBuilder> getExpirationTimeFieldBuilder() { if (expirationTimeBuilder_ == null) { expirationTimeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.hedera.hashgraph.sdk.proto.Timestamp, com.hedera.hashgraph.sdk.proto.Timestamp.Builder, com.hedera.hashgraph.sdk.proto.TimestampOrBuilder>( getExpirationTime(), getParentForChildren(), isClean()); expirationTime_ = null; } return expirationTimeBuilder_; } private boolean waitForExpiry_ ; /** *
     **
     * When set to true, the transaction will be evaluated for execution at expiration_time instead
     * of when all required signatures are received.
     * When set to false, the transaction will execute immediately after sufficient signatures are received
     * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
     *
     * Defaults to false.
     *
     * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
     *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
     *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
     *  ScheduleSign comes in to "poke" it and force it to go through immediately.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
     *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
     *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
     *       expire at expiration_time.
     * 
* * bool wait_for_expiry = 13; * @return The waitForExpiry. */ @java.lang.Override public boolean getWaitForExpiry() { return waitForExpiry_; } /** *
     **
     * When set to true, the transaction will be evaluated for execution at expiration_time instead
     * of when all required signatures are received.
     * When set to false, the transaction will execute immediately after sufficient signatures are received
     * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
     *
     * Defaults to false.
     *
     * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
     *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
     *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
     *  ScheduleSign comes in to "poke" it and force it to go through immediately.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
     *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
     *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
     *       expire at expiration_time.
     * 
* * bool wait_for_expiry = 13; * @param value The waitForExpiry to set. * @return This builder for chaining. */ public Builder setWaitForExpiry(boolean value) { waitForExpiry_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     **
     * When set to true, the transaction will be evaluated for execution at expiration_time instead
     * of when all required signatures are received.
     * When set to false, the transaction will execute immediately after sufficient signatures are received
     * to sign the contained transaction. During the initial ScheduleCreate transaction or via ScheduleSign transactions.
     *
     * Defaults to false.
     *
     * Setting this to false does not necessarily mean that the transaction will never execute at expiration_time.
     *  For Example - If the signature requirements for a Scheduled Transaction change via external means (e.g. CryptoUpdate)
     *  such that the Scheduled Transaction would be allowed to execute, it will do so autonomously at expiration_time, unless a
     *  ScheduleSign comes in to "poke" it and force it to go through immediately.
     *
     * Note: This field is unused and forced to be unset until Long Term Scheduled Transactions are enabled. Before Long Term
     *       Scheduled Transactions are enabled, Scheduled Transactions will _never_ execute at expiration  - they will _only_
     *       execute during the initial ScheduleCreate transaction or via ScheduleSign transactions and will _always_
     *       expire at expiration_time.
     * 
* * bool wait_for_expiry = 13; * @return This builder for chaining. */ public Builder clearWaitForExpiry() { bitField0_ = (bitField0_ & ~0x00000020); waitForExpiry_ = false; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:proto.ScheduleCreateTransactionBody) } // @@protoc_insertion_point(class_scope:proto.ScheduleCreateTransactionBody) private static final com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody(); } public static com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public ScheduleCreateTransactionBody parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.hedera.hashgraph.sdk.proto.ScheduleCreateTransactionBody getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy