rippled
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
xrpl::ledger_entries::CredentialBuilder Class Reference

Builder for Credential ledger entries. More...

#include <Credential.h>

Inheritance diagram for xrpl::ledger_entries::CredentialBuilder:
Inheritance graph
[legend]
Collaboration diagram for xrpl::ledger_entries::CredentialBuilder:
Collaboration graph
[legend]

Public Member Functions

 CredentialBuilder (std::decay_t< typename SF_ACCOUNT::type::value_type > const &subject, std::decay_t< typename SF_ACCOUNT::type::value_type > const &issuer, std::decay_t< typename SF_VL::type::value_type > const &credentialType, std::decay_t< typename SF_UINT64::type::value_type > const &issuerNode, 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 CredentialBuilder with required fields.
 
 CredentialBuilder (std::shared_ptr< SLE const > sle)
 Construct a CredentialBuilder from an existing SLE object.
 
CredentialBuildersetSubject (std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
 Ledger entry-specific field setters.
 
CredentialBuildersetIssuer (std::decay_t< typename SF_ACCOUNT::type::value_type > const &value)
 Set sfIssuer (soeREQUIRED)
 
CredentialBuildersetCredentialType (std::decay_t< typename SF_VL::type::value_type > const &value)
 Set sfCredentialType (soeREQUIRED)
 
CredentialBuildersetExpiration (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfExpiration (soeOPTIONAL)
 
CredentialBuildersetURI (std::decay_t< typename SF_VL::type::value_type > const &value)
 Set sfURI (soeOPTIONAL)
 
CredentialBuildersetIssuerNode (std::decay_t< typename SF_UINT64::type::value_type > const &value)
 Set sfIssuerNode (soeREQUIRED)
 
CredentialBuildersetSubjectNode (std::decay_t< typename SF_UINT64::type::value_type > const &value)
 Set sfSubjectNode (soeOPTIONAL)
 
CredentialBuildersetPreviousTxnID (std::decay_t< typename SF_UINT256::type::value_type > const &value)
 Set sfPreviousTxnID (soeREQUIRED)
 
CredentialBuildersetPreviousTxnLgrSeq (std::decay_t< typename SF_UINT32::type::value_type > const &value)
 Set sfPreviousTxnLgrSeq (soeREQUIRED)
 
Credential build (uint256 const &index)
 Build and return the completed Credential wrapper.
 
bool validate () const
 Validate the ledger entry.
 
CredentialBuildersetLedgerIndex (uint256 const &value)
 Set the ledger index.
 
CredentialBuildersetFlags (uint32_t value)
 Set the flags.
 

Protected Attributes

STObject object_
 

Detailed Description

Builder for Credential ledger entries.

Provides a fluent interface for constructing ledger entries with method chaining. Uses Json::Value internally for flexible ledger entry construction. Inherits common field setters from LedgerEntryBuilderBase.

Definition at line 194 of file Credential.h.

Constructor & Destructor Documentation

◆ CredentialBuilder() [1/2]

xrpl::ledger_entries::CredentialBuilder::CredentialBuilder ( std::decay_t< typename SF_ACCOUNT::type::value_type > const &  subject,
std::decay_t< typename SF_ACCOUNT::type::value_type > const &  issuer,
std::decay_t< typename SF_VL::type::value_type > const &  credentialType,
std::decay_t< typename SF_UINT64::type::value_type > const &  issuerNode,
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 CredentialBuilder with required fields.

Parameters
subjectThe sfSubject field value.
issuerThe sfIssuer field value.
credentialTypeThe sfCredentialType field value.
issuerNodeThe sfIssuerNode field value.
previousTxnIDThe sfPreviousTxnID field value.
previousTxnLgrSeqThe sfPreviousTxnLgrSeq field value.

Definition at line 206 of file Credential.h.

◆ CredentialBuilder() [2/2]

xrpl::ledger_entries::CredentialBuilder::CredentialBuilder ( std::shared_ptr< SLE const >  sle)

Construct a CredentialBuilder from an existing SLE object.

Parameters
sleThe existing ledger entry to copy from.
Exceptions
std::runtime_errorif the ledger entry type doesn't match.

Definition at line 222 of file Credential.h.

Member Function Documentation

◆ setSubject()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setSubject ( std::decay_t< typename SF_ACCOUNT::type::value_type > const &  value)

Ledger entry-specific field setters.

Set sfSubject (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 238 of file Credential.h.

◆ setIssuer()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setIssuer ( std::decay_t< typename SF_ACCOUNT::type::value_type > const &  value)

Set sfIssuer (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 249 of file Credential.h.

◆ setCredentialType()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setCredentialType ( std::decay_t< typename SF_VL::type::value_type > const &  value)

Set sfCredentialType (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 260 of file Credential.h.

◆ setExpiration()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setExpiration ( std::decay_t< typename SF_UINT32::type::value_type > const &  value)

Set sfExpiration (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 271 of file Credential.h.

◆ setURI()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setURI ( std::decay_t< typename SF_VL::type::value_type > const &  value)

Set sfURI (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 282 of file Credential.h.

◆ setIssuerNode()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setIssuerNode ( std::decay_t< typename SF_UINT64::type::value_type > const &  value)

Set sfIssuerNode (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 293 of file Credential.h.

◆ setSubjectNode()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setSubjectNode ( std::decay_t< typename SF_UINT64::type::value_type > const &  value)

Set sfSubjectNode (soeOPTIONAL)

Returns
Reference to this builder for method chaining.

Definition at line 304 of file Credential.h.

◆ setPreviousTxnID()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setPreviousTxnID ( std::decay_t< typename SF_UINT256::type::value_type > const &  value)

Set sfPreviousTxnID (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 315 of file Credential.h.

◆ setPreviousTxnLgrSeq()

CredentialBuilder & xrpl::ledger_entries::CredentialBuilder::setPreviousTxnLgrSeq ( std::decay_t< typename SF_UINT32::type::value_type > const &  value)

Set sfPreviousTxnLgrSeq (soeREQUIRED)

Returns
Reference to this builder for method chaining.

Definition at line 326 of file Credential.h.

◆ build()

Credential xrpl::ledger_entries::CredentialBuilder::build ( uint256 const &  index)

Build and return the completed Credential wrapper.

Parameters
indexThe ledger entry index.
Returns
The constructed ledger entry wrapper.

Definition at line 338 of file Credential.h.

◆ validate()

bool xrpl::ledger_entries::LedgerEntryBuilderBase< CredentialBuilder >::validate ( ) const
inherited

Validate the ledger entry.

Returns
true if validation passes, false otherwise

Definition at line 45 of file LedgerEntryBuilderBase.h.

◆ setLedgerIndex()

Set the ledger index.

Parameters
valueLedger index
Returns
Reference to the derived builder for method chaining.

Definition at line 62 of file LedgerEntryBuilderBase.h.

◆ setFlags()

Set the flags.

Parameters
valueFlags value
Returns
Reference to the derived builder for method chaining.

Definition at line 74 of file LedgerEntryBuilderBase.h.

Member Data Documentation

◆ object_

Definition at line 81 of file LedgerEntryBuilderBase.h.