4#include <xrpl/protocol/STLedgerEntry.h>
5#include <xrpl/protocol/STParsedJSON.h>
6#include <xrpl/protocol/jss.h>
7#include <xrpl/protocol_autogen/LedgerEntryBase.h>
8#include <xrpl/protocol_autogen/LedgerEntryBuilderBase.h>
9#include <xrpl/json/json_value.h>
42 throw std::runtime_error(
"Invalid ledger entry type for NFTokenPage");
57 return this->
sle_->at(sfPreviousPageMin);
69 return this->
sle_->isFieldPresent(sfPreviousPageMin);
81 return this->
sle_->at(sfNextPageMin);
93 return this->
sle_->isFieldPresent(sfNextPageMin);
105 return this->
sle_->getFieldArray(sfNFTokens);
113 SF_UINT256::type::value_type
116 return this->
sle_->at(sfPreviousTxnID);
124 SF_UINT32::type::value_type
127 return this->
sle_->at(sfPreviousTxnLgrSeq);
162 if (sle->at(sfLedgerEntryType) != ltNFTOKEN_PAGE)
178 object_[sfPreviousPageMin] = value;
189 object_[sfNextPageMin] = value;
200 object_.setFieldArray(sfNFTokens, value);
211 object_[sfPreviousTxnID] = value;
222 object_[sfPreviousTxnLgrSeq] = value;
std::shared_ptr< STLedgerEntry const > const_pointer
LedgerEntryBase(SLE::const_pointer sle)
Construct a ledger entry wrapper from an existing SLE object.
SLE::const_pointer sle_
The underlying serialized ledger entry being wrapped.
LedgerEntryBuilderBase()=default
Builder for NFTokenPage ledger entries.
NFTokenPageBuilder & setNextPageMin(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfNextPageMin (SoeOptional).
NFTokenPageBuilder & setNFTokens(STArray const &value)
Set sfNFTokens (SoeRequired).
NFTokenPageBuilder & setPreviousTxnID(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Set sfPreviousTxnID (SoeRequired).
NFTokenPage build(uint256 const &index)
Build and return the completed NFTokenPage wrapper.
NFTokenPageBuilder(SLE::const_pointer sle)
Construct a NFTokenPageBuilder from an existing SLE object.
NFTokenPageBuilder & setPreviousTxnLgrSeq(std::decay_t< typename SF_UINT32::type::value_type > const &value)
Set sfPreviousTxnLgrSeq (SoeRequired).
NFTokenPageBuilder(STArray const &nFTokens, std::decay_t< typename SF_UINT256::type::value_type > const &previousTxnID, std::decay_t< typename SF_UINT32::type::value_type > const &previousTxnLgrSeq)
Construct a new NFTokenPageBuilder with required fields.
NFTokenPageBuilder & setPreviousPageMin(std::decay_t< typename SF_UINT256::type::value_type > const &value)
Ledger entry-specific field setters.
Ledger Entry: NFTokenPage.
STArray const & getNFTokens() const
Get sfNFTokens (SoeRequired).
SF_UINT256::type::value_type getPreviousTxnID() const
Get sfPreviousTxnID (SoeRequired).
static constexpr LedgerEntryType entryType
bool hasNextPageMin() const
Check if sfNextPageMin is present.
protocol_autogen::Optional< SF_UINT256::type::value_type > getNextPageMin() const
Get sfNextPageMin (SoeOptional).
protocol_autogen::Optional< SF_UINT256::type::value_type > getPreviousPageMin() const
Get sfPreviousPageMin (SoeOptional).
SF_UINT32::type::value_type getPreviousTxnLgrSeq() const
Get sfPreviousTxnLgrSeq (SoeRequired).
bool hasPreviousPageMin() const
Check if sfPreviousPageMin is present.
NFTokenPage(SLE::const_pointer sle)
Construct a NFTokenPage ledger entry wrapper from an existing SLE object.
std::conditional_t< std::is_reference_v< ValueType >, std::optional< std::reference_wrapper< std::remove_reference_t< ValueType > > >, std::optional< ValueType > > Optional
LedgerEntryType
Identifiers for on-ledger objects.