DocumentBagManagerWorker
        
        extends AbstractWorker
    
    
            
            in package
            
        
    
            
            implements
                            DocumentBagManagerWorkerInterface                    
    
    
Clase para el administrador de la bolsa con los datos de un DTE.
Attributes
- #[Worker]
- $name: 'document_bag_manager'
- $component: 'document'
- $package: 'billing'
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
- $normalizerWorker : NormalizerWorkerInterface
- $parserWorker : ParserWorkerInterface
- $receptorFactory : ReceptorFactoryInterface
- $repositoryManager : RepositoryManagerInterface
- $sanitizerWorker : SanitizerWorkerInterface
- $validatorWorker : ValidatorWorkerInterface
- $xmlService : XmlServiceInterface
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
    
    
    
    
    
    
$normalizerWorker
        private
            NormalizerWorkerInterface
    $normalizerWorker
    
    
    
    
    
    
$parserWorker
        private
            ParserWorkerInterface
    $parserWorker
    
    
    
    
    
    
$receptorFactory
        private
            ReceptorFactoryInterface
    $receptorFactory
    
    
    
    
    
    
$repositoryManager
        private
            RepositoryManagerInterface
    $repositoryManager
    
    
    
    
    
    
$sanitizerWorker
        private
            SanitizerWorkerInterface
    $sanitizerWorker
    
    
    
    
    
    
$validatorWorker
        private
            ValidatorWorkerInterface
    $validatorWorker
    
    
    
    
    
    
$xmlService
        private
            XmlServiceInterface
    $xmlService
    
    
    
    
    
    
Methods
__construct()
    public
                    __construct(XmlServiceInterface $xmlService, BuilderWorkerInterface $builderWorker, ParserWorkerInterface $parserWorker, NormalizerWorkerInterface $normalizerWorker, SanitizerWorkerInterface $sanitizerWorker, ValidatorWorkerInterface $validatorWorker, RepositoryManagerInterface $repositoryManager, EmisorFactoryInterface $emisorFactory, ReceptorFactoryInterface $receptorFactory) : mixed
    Parameters
- $xmlService : XmlServiceInterface
- $builderWorker : BuilderWorkerInterface
- $parserWorker : ParserWorkerInterface
- $normalizerWorker : NormalizerWorkerInterface
- $sanitizerWorker : SanitizerWorkerInterface
- $validatorWorker : ValidatorWorkerInterface
- $repositoryManager : RepositoryManagerInterface
- $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>|XmlDocumentInterface|DocumentInterface $source[, bool $normalizeAll = true ]) : DocumentBagInterface
    Parameters
- $source : string|array<string|int, mixed>|XmlDocumentInterface|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