/** * @param IValidatorIterator * @param ISchemaValidator * @param IPayloadMap * @param LoggerInterface * @param IPayload * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __construct(IValidatorIterator $validators, ISchemaValidator $schemaValidator, IPayloadMap $payloadMap, LoggerInterface $logger, IPayload $parentPayload = null) { parent::__construct($validators, $schemaValidator, $payloadMap, $logger, $parentPayload); $this->logger = $logger; // extract parent data as well as additional data needed // for the subclass $this->extractionPaths = array_merge($this->extractionPaths, ['remainingQuantity' => 'number(@remainingQuantity)', 'amount' => 'number(x:Pricing/x:AdjustedAmount)', 'OrderReturnReason' => 'string(x:OrderReturnReason)', 'reason' => 'string(x:OrderReturnReason)', 'reasonCode' => 'string(x:OrderReturnReason/@reasonCode)']); }
/** * @param IValidatorIterator * @param ISchemaValidator * @param IPayloadMap * @param LoggerInterface * @param IPayload * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __construct(IValidatorIterator $validators, ISchemaValidator $schemaValidator, IPayloadMap $payloadMap, LoggerInterface $logger, IPayload $parentPayload = null) { parent::__construct($validators, $schemaValidator, $payloadMap, $logger, $parentPayload); $this->logger = $logger; $this->payloadMap = $payloadMap; $this->payloadFactory = new PayloadFactory(); $this->optionalExtractionPaths = array_merge($this->optionalExtractionPaths, ['amount' => 'x:Pricing/x:Amount', 'unitPrice' => 'x:Pricing/x:UnitPrice', 'remainder' => 'x:Pricing/x:Amount/@remainder']); }
/** * @param IValidatorIterator * @param ISchemaValidator * @param IPayloadMap * @param LoggerInterface * @param IPayload * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function __construct(IValidatorIterator $validators, ISchemaValidator $schemaValidator, IPayloadMap $payloadMap, LoggerInterface $logger, IPayload $parentPayload = null) { parent::__construct($validators, $schemaValidator, $payloadMap, $logger, $parentPayload); $this->logger = $logger; $this->payloadMap = $payloadMap; $this->payloadFactory = new PayloadFactory(); $this->trackingNumbers = $this->buildPayloadForInterface(static::TRACKING_NUMBER_ITERABLE_INTERFACE); // extract parent data as well as additional data needed // for the subclass $this->extractionPaths = array_merge($this->extractionPaths, ['shippedQuantity' => 'number(@shippedQuantity)', 'shopRunnerMessage' => 'string(x:ShopRunnerMessage)']); $this->optionalExtractionPaths = array_merge($this->optionalExtractionPaths, ['amount' => 'x:Pricing/x:Amount', 'unitPrice' => 'x:Pricing/x:UnitPrice', 'remainder' => 'x:Pricing/x:Amount/@remainder']); $this->subpayloadExtractionPaths = array_merge($this->subpayloadExtractionPaths, ['trackingNumbers' => 'x:TrackingNumberList']); }