pub struct LogLineBuilder { /* private fields */ }Expand description
Builder para construir um LogLine passo a passo.
Use LogLine::builder() para criar um novo builder. Todos os campos
obrigatórios devem ser fornecidos antes de chamar build_draft().
§Exemplo
use logline_core::*;
let line = LogLine::builder()
.who("did:ubl:alice")
.did(Verb::Transfer)
.this(Payload::Text("100 USD".into()))
.when(1_735_671_234)
.if_ok(Outcome { label: "transferred".into(), effects: vec!["emit_receipt".into()] })
.if_doubt(Escalation { label: "verify".into(), route_to: "auditor".into() })
.if_not(FailureHandling { label: "failed".into(), action: "compensate".into() })
.build_draft()?;Implementations§
Source§impl LogLineBuilder
impl LogLineBuilder
pub fn new() -> Self
Sourcepub fn who(self, v: impl Into<String>) -> Self
pub fn who(self, v: impl Into<String>) -> Self
Define o agente que executa a ação (DID futuro, ex: did:ubl:...).
Sourcepub fn confirmed_by(self, v: impl Into<String>) -> Self
pub fn confirmed_by(self, v: impl Into<String>) -> Self
Define a identidade que confirma a ação (opcional).
Paper I: obrigatório para ações de Risk Level 3+ (L3+).
Sourcepub fn if_doubt(self, v: Escalation) -> Self
pub fn if_doubt(self, v: Escalation) -> Self
Define a via de dúvida obrigatória (invariant).
Sourcepub fn if_not(self, v: FailureHandling) -> Self
pub fn if_not(self, v: FailureHandling) -> Self
Define o fallback/erro obrigatório (invariant).
Sourcepub fn build_draft(self) -> Result<LogLine, LogLineError>
pub fn build_draft(self) -> Result<LogLine, LogLineError>
Constrói um DRAFT válido (invariants obrigatórios presentes).
Valida que todos os campos obrigatórios estão presentes e cria um LogLine
com status Draft. Os invariants são verificados antes de retornar.
§Erros
LogLineError::MissingFieldse algum campo obrigatório estiver faltandoLogLineError::MissingInvariantse algum invariant estiver faltando ou vazio
§Campos obrigatórios
who: identidade do agentedid: verbo da açãowhen: timestampif_ok: consequência positivaif_doubt: via de dúvidaif_not: fallback/erro
Trait Implementations§
Source§impl Default for LogLineBuilder
impl Default for LogLineBuilder
Source§fn default() -> LogLineBuilder
fn default() -> LogLineBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LogLineBuilder
impl RefUnwindSafe for LogLineBuilder
impl Send for LogLineBuilder
impl Sync for LogLineBuilder
impl Unpin for LogLineBuilder
impl UnwindSafe for LogLineBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more