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
$builderWorker
private
BuilderWorkerInterface
$builderWorker
$emisorFactory
private
EmisorFactoryInterface
$emisorFactory
$entityComponent
private
EntityComponentInterface
$entityComponent
$normalizerWorker
private
NormalizerWorkerInterface
$normalizerWorker
$parserWorker
private
ParserWorkerInterface
$parserWorker
$receptorFactory
private
ReceptorFactoryInterface
$receptorFactory
$sanitizerWorker
private
SanitizerWorkerInterface
$sanitizerWorker
$validatorWorker
private
ValidatorWorkerInterface
$validatorWorker
$xmlComponent
private
XmlComponentInterface
$xmlComponent
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
DocumentBagInterfacenormalize()
Normaliza una bolsa con datos de un documento tributario.
public
normalize(DocumentBagInterface $bag[, bool $all = false ]) : DocumentBagInterface
Parameters
- $bag : DocumentBagInterface
- $all : bool = false
-
Indica si se deben aplicar todas las normalizaciones o solo la de la asignación del tipo de documento.
Return values
DocumentBagInterfaceensureDocument()
Asegura que existan un DTE en la bolsa si existe un XmlDocument para poder crearlo y no está asignado previamente.
protected
ensureDocument(DocumentBagInterface $bag) : void
Requiere: $bag->getXmlDocument() y $bag->getTipoDocumento().
Parameters
- $bag : 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
ensureTipoDocumento()
Asegura que exista un tipo de documento en la bolsa si existen datos para poder determinarlo y no está asignado previamente.
protected
ensureTipoDocumento(DocumentBagInterface $bag) : void
Requiere: $bag->getParsedData().
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