LibreDTE

BookBag
in package
implements BookBagInterface uses OptionsAwareTrait

Contenedor de datos para la construcción de un libro tributario.

Permite transportar el tipo de libro, la carátula, los detalles, el certificado digital y las opciones de procesamiento entre el código cliente y los workers de billing.book.

El flujo normal es:

  1. El usuario crea un BookBag con tipo, caratula y detalles crudos.
  2. LoaderWorker::load() normaliza los detalles según el tipo y formato.
  3. BuilderWorker::build() genera el XML y retorna la entidad resultante.

Table of Contents

Interfaces

BookBagInterface
Interfaz para el contenedor de datos de un libro tributario.

Properties

$optionsSchema  : array<string, array<string, mixed>>
Esquema de las opciones del contenedor.
$book  : BookInterface|null
Libro resultante tras la construcción por el worker.
$caratula  : array<string, mixed>
Carátula del libro.
$certificate  : CertificateInterface|null
Certificado digital para la firma del XML.
$detalle  : array<int, array<string, mixed>>
Detalles normalizadosdel libro.
$emisor  : EmisorInterface|null
Emisor del libro.
$inputData  : array<string|int, mixed>|string
Datos originales de entrada que se utilizarán para construir el libro.
$tipo  : TipoLibro
Tipo de libro tributario.

Methods

__construct()  : mixed
Constructor del contenedor.
getBook()  : BookInterface|null
Obtiene el libro resultante de la construcción.
getBookAuth()  : array<string|int, mixed>|null
Obtiene los datos de la autorización del emisor para emitir el libro.
getBuilderOptions()  : array<string, mixed>
Obtiene las opciones del `BuilderWorker`.
getCaratula()  : array<string, mixed>
Obtiene la carátula del libro.
getCertificate()  : CertificateInterface|null
Obtiene el certificado digital.
getData()  : array<string|int, mixed>|null
Obtiene los datos del libro.
getDetalle()  : array<int, array<string, mixed>>
Obtiene los detalles del libro.
getEmisor()  : EmisorInterface|null
Obtiene el emisor del libro.
getInputData()  : array<string|int, mixed>|string
Obtiene los datos de entrada del libro.
getLoaderOptions()  : array<string, mixed>
Obtiene las opciones del `LoaderWorker`.
getRendererOptions()  : array<string, mixed>
Obtiene las opciones del `RendererWorker`.
getTipo()  : TipoLibro
Obtiene el tipo de libro tributario.
getValidatorOptions()  : array<string, mixed>
Obtiene las opciones del `ValidatorWorker`.
jsonSerialize()  : array<string|int, mixed>
{@inheritDoc}
setBook()  : static
Asigna el libro resultante de la construcción.
setCaratula()  : static
Asigna la carátula del libro.
setCertificate()  : static
Asigna el certificado digital para firmar el XML del libro.
setDetalle()  : static
Asigna los detalles del libro.
setEmisor()  : static
Asigna el emisor del libro.
setInputData()  : static
Asigna los datos de entrada del libro.
toArray()  : array<string|int, mixed>
Entrega los datos de la bolsa como un arreglo.
withCertificate()  : static
Retorna una nueva bolsa con el mismo contenido pero con el certificado reemplazado.

Properties

$optionsSchema

Esquema de las opciones del contenedor.

protected array<string, array<string, mixed>> $optionsSchema = ['loader' => ['types' => 'array', 'default' => []], 'builder' => ['types' => 'array', 'default' => []]]

$caratula

Carátula del libro.

private array<string, mixed> $caratula

$certificate

Certificado digital para la firma del XML.

private CertificateInterface|null $certificate

$detalle

Detalles normalizadosdel libro.

private array<int, array<string, mixed>> $detalle

$inputData

Datos originales de entrada que se utilizarán para construir el libro.

private array<string|int, mixed>|string $inputData

$tipo

Tipo de libro tributario.

private TipoLibro $tipo

Determina qué estrategias del LoaderWorker y BuilderWorker se utilizan.

Methods

__construct()

Constructor del contenedor.

public __construct(TipoLibro $tipo[, array<string|int, mixed>|string $inputData = [] ][, array<string, mixed> $caratula = [] ][, array<int, array<string, mixed>> $detalle = [] ][, array<string, mixed>|OptionsInterface|null $options = null ][, CertificateInterface|null $certificate = null ][, BookInterface|null $book = null ][, EmisorInterface|null $emisor = null ]) : mixed
Parameters
$tipo : TipoLibro

Tipo de libro tributario.

$inputData : array<string|int, mixed>|string = []

Datos originales de entrada que se utilizarán para construir el libro. Si es un arreglo son los datos crudos. Si es un string podrá ser un CSV, XML, JSON, etc, dependiendo del formato de entrada en las opciones del LoaderWorker.

$caratula : array<string, mixed> = []

Datos de la carátula del libro.

$detalle : array<int, array<string, mixed>> = []

Filas del libro.

$options : array<string, mixed>|OptionsInterface|null = null

Opciones de procesamiento. La clave loader.format elige el formato de entrada (por defecto 'array').

$certificate : CertificateInterface|null = null

Certificado para firmar.

$book : BookInterface|null = null
$emisor : EmisorInterface|null = null

getBookAuth()

Obtiene los datos de la autorización del emisor para emitir el libro.

public getBookAuth() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null

getBuilderOptions()

Obtiene las opciones del `BuilderWorker`.

public getBuilderOptions() : array<string, mixed>
Return values
array<string, mixed>

getCaratula()

Obtiene la carátula del libro.

public getCaratula() : array<string, mixed>
Return values
array<string, mixed>

getCertificate()

Obtiene el certificado digital.

public getCertificate() : CertificateInterface|null
Return values
CertificateInterface|null

getData()

Obtiene los datos del libro.

public getData() : array<string|int, mixed>|null
Return values
array<string|int, mixed>|null

getDetalle()

Obtiene los detalles del libro.

public getDetalle() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>

getInputData()

Obtiene los datos de entrada del libro.

public getInputData() : array<string|int, mixed>|string
Return values
array<string|int, mixed>|string

getLoaderOptions()

Obtiene las opciones del `LoaderWorker`.

public getLoaderOptions() : array<string, mixed>
Return values
array<string, mixed>

getRendererOptions()

Obtiene las opciones del `RendererWorker`.

public getRendererOptions() : array<string, mixed>
Return values
array<string, mixed>

getValidatorOptions()

Obtiene las opciones del `ValidatorWorker`.

public getValidatorOptions() : array<string, mixed>
Return values
array<string, mixed>

jsonSerialize()

{@inheritDoc}

public jsonSerialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

setCaratula()

Asigna la carátula del libro.

public setCaratula(array<string|int, mixed> $caratula) : static
Parameters
$caratula : array<string|int, mixed>
Return values
static

setCertificate()

Asigna el certificado digital para firmar el XML del libro.

public setCertificate(CertificateInterface $certificate) : static
Parameters
$certificate : CertificateInterface
Return values
static

setDetalle()

Asigna los detalles del libro.

public setDetalle(array<string|int, mixed> $detalles) : static
Parameters
$detalles : array<string|int, mixed>
Return values
static

setInputData()

Asigna los datos de entrada del libro.

public setInputData(array<string|int, mixed>|string $inputData) : static
Parameters
$inputData : array<string|int, mixed>|string
Return values
static

toArray()

Entrega los datos de la bolsa como un arreglo.

public toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

withCertificate()

Retorna una nueva bolsa con el mismo contenido pero con el certificado reemplazado.

public withCertificate(CertificateInterface $certificate) : static
Parameters
$certificate : CertificateInterface
Return values
static

        
On this page

Search results