LibreDTE

DocumentBagManagerWorker extends AbstractWorker
in package
implements DocumentBagManagerWorkerInterface

Clase para el administrador de la bolsa con los datos de un DTE.

Table of Contents

Interfaces

DocumentBagManagerWorkerInterface
Interfaz para que administra una bolsa con los datos de un documento tributario.

Properties

$documentBagClass  : mixed
$builderWorker  : BuilderWorkerInterface
$emisorFactory  : EmisorFactoryInterface
$entityComponent  : EntityComponentInterface
$normalizerWorker  : NormalizerWorkerInterface
$parserWorker  : ParserWorkerInterface
$receptorFactory  : ReceptorFactoryInterface
$sanitizerWorker  : SanitizerWorkerInterface
$validatorWorker  : ValidatorWorkerInterface
$xmlComponent  : XmlComponentInterface

Methods

__construct()  : mixed
create()  : DocumentBagInterface
Crea la bolsa con los datos del documento a partir de datos de origen.
normalize()  : DocumentBagInterface
Normaliza una bolsa con datos de un documento tributario.
ensureDocument()  : void
Asegura que existan un DTE en la bolsa si existe un XmlDocument para poder crearlo y no está asignado previamente.
ensureEmisor()  : void
Asegura que existan el emisor en la bolsa si existe el dTE para poder determinarlo y no está asignado previamente.
ensureNormalizedData()  : void
Asegura que existan los datos normalizados en la bolsa si existen datos parseados para poder determinarlo y no está asignado previamente.
ensureParsedData()  : void
Asegura que existan datos parseados en la bolsa si existen datos de entrada para poder determinarlo y no está asignado previamente.
ensureReceptor()  : void
Asegura que existan el emisor en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.
ensureTipoDocumento()  : void
Asegura que exista un tipo de documento en la bolsa si existen datos para poder determinarlo y no está asignado previamente.
ensureXmlDocument()  : void
Asegura que existan un documento XML en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.

Properties

$documentBagClass

protected mixed $documentBagClass = \libredte\lib\Core\Package\Billing\Component\Document\Support\DocumentBag::class

Methods

__construct()

public __construct(XmlComponentInterface $xmlComponent, BuilderWorkerInterface $builderWorker, ParserWorkerInterface $parserWorker, NormalizerWorkerInterface $normalizerWorker, SanitizerWorkerInterface $sanitizerWorker, ValidatorWorkerInterface $validatorWorker, EntityComponentInterface $entityComponent, EmisorFactoryInterface $emisorFactory, ReceptorFactoryInterface $receptorFactory) : mixed
Parameters
$xmlComponent : XmlComponentInterface
$builderWorker : BuilderWorkerInterface
$parserWorker : ParserWorkerInterface
$normalizerWorker : NormalizerWorkerInterface
$sanitizerWorker : SanitizerWorkerInterface
$validatorWorker : ValidatorWorkerInterface
$entityComponent : EntityComponentInterface
$emisorFactory : EmisorFactoryInterface
$receptorFactory : ReceptorFactoryInterface

create()

Crea la bolsa con los datos del documento a partir de datos de origen.

public create(string|array<string|int, mixed>|XmlInterface|DocumentInterface $source[, bool $normalizeAll = true ]) : DocumentBagInterface
Parameters
$source : string|array<string|int, mixed>|XmlInterface|DocumentInterface

Datos de origen.

$normalizeAll : bool = true

Indica si se deben normalizar todos los datos de la bolsa al crearla o solo los mínimos.

Return values
DocumentBagInterface

ensureEmisor()

Asegura que existan el emisor en la bolsa si existe el dTE para poder determinarlo y no está asignado previamente.

protected ensureEmisor(DocumentBagInterface $bag) : void

El emisor también se pueden crear si existen un XmlDocument, datos normalizados o datos parseados.

Requiere: $bag->getDocument(), $bag->getXmlDocument(), $bag->getNormalizedData() o $bag->getParsedData().

Parameters
$bag : DocumentBagInterface

ensureNormalizedData()

Asegura que existan los datos normalizados en la bolsa si existen datos parseados para poder determinarlo y no está asignado previamente.

protected ensureNormalizedData(DocumentBagInterface $bag) : void

Los datos normalizados también se pueden crear si existe un XmlDocument o un DTE.

Requiere: $bag->getParsedData() o $bag->getXmlDocument() o $bag->getDocument().

Parameters
$bag : DocumentBagInterface

ensureParsedData()

Asegura que existan datos parseados en la bolsa si existen datos de entrada para poder determinarlo y no está asignado previamente.

protected ensureParsedData(DocumentBagInterface $bag) : void

Requiere: $bag->getInputData().

Además, si los datos no usan la estrategia por defecto de parseo se debe indicar en las opciones de la bolsa.

Parameters
$bag : DocumentBagInterface

ensureReceptor()

Asegura que existan el emisor en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.

protected ensureReceptor(DocumentBagInterface $bag) : void

El emisor también se pueden crear si existe un XmlDocument o un DTE.

Requiere: $bag->getNormalizedData() o $bag->getXmlDocument() o $bag->getDocument().

Parameters
$bag : DocumentBagInterface

ensureXmlDocument()

Asegura que existan un documento XML en la bolsa si existen datos normalizados para poder determinarlo y no está asignado previamente.

protected ensureXmlDocument(DocumentBagInterface $bag) : void

El XmlDocument también se puede crear si existe DTE.

Requiere: $bag->getNormalizedData() o $bag->getDocument().

Parameters
$bag : DocumentBagInterface

        
On this page

Search results