-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathUsMailV2RecipientAddresses.php
More file actions
72 lines (67 loc) · 2.17 KB
/
Copy pathUsMailV2RecipientAddresses.php
File metadata and controls
72 lines (67 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
namespace Mindee\Product\Us\UsMail;
/**
* The addresses of the recipients.
*/
class UsMailV2RecipientAddresses extends \ArrayObject
{
/**
* @param array $rawPrediction Raw prediction array.
* @param integer|null $pageId Page number for multi pages document.
*/
public function __construct(array $rawPrediction, ?int $pageId = null)
{
$entries = [];
foreach ($rawPrediction as $entry) {
$entries[] = new UsMailV2RecipientAddress($entry, $pageId);
}
parent::__construct($entries);
}
/**
* Creates a line of rST table-compliant string separators.
*
* @param string $char Character to use as a separator.
* @return string
*/
public static function recipientAddressesSeparator(string $char): string
{
$outStr = " ";
$outStr .= "+" . str_repeat($char, 17);
$outStr .= "+" . str_repeat($char, 37);
$outStr .= "+" . str_repeat($char, 19);
$outStr .= "+" . str_repeat($char, 13);
$outStr .= "+" . str_repeat($char, 24);
$outStr .= "+" . str_repeat($char, 7);
$outStr .= "+" . str_repeat($char, 27);
return $outStr . "+";
}
/**
* String representation.
*
* @return string
*/
public function __toString(): string
{
$lines = "";
$iterator = $this->getIterator();
if (!$iterator->valid()) {
return "";
}
while ($iterator->valid()) {
$entry = $iterator->current();
$lines .= "\n " . $entry->toTableLine() . "\n" . self::recipientAddressesSeparator('-');
$iterator->next();
}
$outStr = "\n" . self::recipientAddressesSeparator('-') . "\n ";
$outStr .= " | City ";
$outStr .= " | Complete Address ";
$outStr .= " | Is Address Change";
$outStr .= " | Postal Code";
$outStr .= " | Private Mailbox Number";
$outStr .= " | State";
$outStr .= " | Street ";
$outStr .= " |\n" . self::recipientAddressesSeparator('=');
$outStr .= $lines;
return $outStr;
}
}