1: <?php
2:
3: namespace Scopus\Response;
4:
5: class CiteInfo extends AbstractCoredata implements IAbstract
6: {
7: /** @var array */
8: protected $data;
9:
10: /** @var Affiliation[] */
11: protected $affiliations;
12:
13: /** @var EntryAuthor[] */
14: protected $authors;
15:
16: //Entry of SEARCH_AUTHOR_URI
17: /** @var AuthorName[] */
18: protected $preferredName;
19:
20: public function __construct(array $data)
21: {
22: parent::__construct($data);
23: }
24:
25: //identifier is in AbstractCoredata
26:
27: //url is in AbstractCoredata
28:
29: //title is in AbstractCoredata
30:
31: /**
32: * @return EntryAuthor[]|null
33: */
34: public function getAuthors()
35: {
36: if (isset($this->data['author'])) {
37: return $this->authors ?: $this->authors = array_map(function ($author) {
38: return new EntryAuthor($author);
39: }, $this->data['author']);
40: }
41: }
42:
43: public function getCitationType()
44: {
45: return $this->data["$"];
46: }
47:
48: public function getCitationTypeCode()
49: {
50: return $this->data["@code"];
51: }
52:
53: public function getSortYear()
54: {
55: return $this->data["sort-year"];
56: }
57:
58: public function getStartingPage()
59: {
60: return $this->data["prism:startingPage"];
61: }
62:
63: public function getEndingPage()
64: {
65: return $this->data["prism:endingPage"];
66: }
67:
68: //getPublicationName is in AbstractCoredata
69:
70: //issn is in AbstractCoredata
71:
72: public function getPreviousColumnCount()
73: {
74: return $this->data["pcc"];
75: }
76:
77: public function getColumnCount()
78: {
79: return $this->data["cc"];
80: }
81:
82: public function getLaterColumnCount()
83: {
84: return $this->data["lcc"];
85: }
86:
87: public function getRangeCount()
88: {
89: return $this->data["rangeCount"];
90: }
91:
92: public function getRowTotal()
93: {
94: return $this->data["rowTotal"];
95: }
96: }
97: