aboutsummaryrefslogtreecommitdiffstats
path: root/includes/libs/WRStats/EntityKey.php
blob: ec13978db214eecd0b1e2552bb9b3b8b8f243d96 (plain) (blame)
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
<?php

namespace Wikimedia\WRStats;

/**
 * Base class for entity keys. An entity key is an array of storage key
 * components which can be used to distinguish stats with the same metric name.
 * The entity key object also carries a global flag which is passed through to
 * the store.
 *
 * @since 1.39
 */
abstract class EntityKey {
	/** @var array */
	private $components;

	/**
	 * @param array $components Array of elements, each convertible to string.
	 */
	public function __construct( array $components = [] ) {
		$this->components = $components;
	}

	/**
	 * @return array
	 */
	public function getComponents() {
		return $this->components;
	}

	/**
	 * @return bool
	 */
	abstract public function isGlobal();
}