summaryrefslogtreecommitdiffstats
path: root/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php156
1 files changed, 94 insertions, 62 deletions
diff --git a/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php b/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php
index 94a5592..3c9be87 100644
--- a/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php
+++ b/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php
@@ -1,71 +1,108 @@
<?php
+declare(strict_types=1);
+
namespace MaxMind\Db\Reader;
/**
* This class provides the metadata for the MaxMind DB file.
- *
- * @property int $nodeCount This is an unsigned 32-bit
- * integer indicating the number of
- * nodes in the search tree.
- * @property int $recordSize This is an unsigned 16-bit
- * integer. It indicates the number
- * of bits in a record in the search
- * tree. Note that each node
- * consists of two records.
- * @property int $ipVersion This is an unsigned 16-bit
- * integer which is always 4 or 6.
- * It indicates whether the database
- * contains IPv4 or IPv6 address
- * data.
- * @property string $databaseType This is a string that indicates
- * the structure of each data record
- * associated with an IP address.
- * The actual definition of these
- * structures is left up to the
- * database creator.
- * @property array $languages An array of strings, each of
- * which is a language code. A given
- * record may contain data items
- * that have been localized to some
- * or all of these languages. This
- * may be undefined.
- * @property int $binaryFormatMajorVersion This is an unsigned 16-bit
- * integer indicating the major
- * version number for the database's
- * binary format.
- * @property int $binaryFormatMinorVersion This is an unsigned 16-bit
- * integer indicating the minor
- * version number for the database's
- * binary format.
- * @property int $buildEpoch This is an unsigned 64-bit
- * integer that contains the
- * database build timestamp as a
- * Unix epoch value.
- * @property array $description This key will always point to a
- * map (associative array). The keys
- * of that map will be language
- * codes, and the values will be a
- * description in that language as a
- * UTF-8 string. May be undefined
- * for some databases.
*/
class Metadata
{
- private $binaryFormatMajorVersion;
- private $binaryFormatMinorVersion;
- private $buildEpoch;
- private $databaseType;
- private $description;
- private $ipVersion;
- private $languages;
- private $nodeByteSize;
- private $nodeCount;
- private $recordSize;
- private $searchTreeSize;
+ /**
+ * This is an unsigned 16-bit integer indicating the major version number
+ * for the database's binary format.
+ *
+ * @var int
+ */
+ public $binaryFormatMajorVersion;
+
+ /**
+ * This is an unsigned 16-bit integer indicating the minor version number
+ * for the database's binary format.
+ *
+ * @var int
+ */
+ public $binaryFormatMinorVersion;
+
+ /**
+ * This is an unsigned 64-bit integer that contains the database build
+ * timestamp as a Unix epoch value.
+ *
+ * @var int
+ */
+ public $buildEpoch;
+
+ /**
+ * This is a string that indicates the structure of each data record
+ * associated with an IP address. The actual definition of these
+ * structures is left up to the database creator.
+ *
+ * @var string
+ */
+ public $databaseType;
+
+ /**
+ * This key will always point to a map (associative array). The keys of
+ * that map will be language codes, and the values will be a description
+ * in that language as a UTF-8 string. May be undefined for some
+ * databases.
+ *
+ * @var array
+ */
+ public $description;
+
+ /**
+ * This is an unsigned 16-bit integer which is always 4 or 6. It indicates
+ * whether the database contains IPv4 or IPv6 address data.
+ *
+ * @var int
+ */
+ public $ipVersion;
+
+ /**
+ * An array of strings, each of which is a language code. A given record
+ * may contain data items that have been localized to some or all of
+ * these languages. This may be undefined.
+ *
+ * @var array
+ */
+ public $languages;
+
+ /**
+ * @var int
+ */
+ public $nodeByteSize;
- public function __construct($metadata)
+ /**
+ * This is an unsigned 32-bit integer indicating the number of nodes in
+ * the search tree.
+ *
+ * @var int
+ */
+ public $nodeCount;
+
+ /**
+ * This is an unsigned 16-bit integer. It indicates the number of bits in a
+ * record in the search tree. Note that each node consists of two records.
+ *
+ * @var int
+ */
+ public $recordSize;
+
+ /**
+ * @var int
+ */
+ public $searchTreeSize;
+
+ public function __construct(array $metadata)
{
+ if (\func_num_args() !== 1) {
+ throw new \ArgumentCountError(
+ sprintf('%s() expects exactly 1 parameter, %d given', __METHOD__, \func_num_args())
+ );
+ }
+
$this->binaryFormatMajorVersion =
$metadata['binary_format_major_version'];
$this->binaryFormatMinorVersion =
@@ -80,9 +117,4 @@ class Metadata
$this->nodeByteSize = $this->recordSize / 4;
$this->searchTreeSize = $this->nodeCount * $this->nodeByteSize;
}
-
- public function __get($var)
- {
- return $this->$var;
- }
}