-
Notifications
You must be signed in to change notification settings - Fork 54
/
FeedInterface.php
106 lines (89 loc) · 2.25 KB
/
FeedInterface.php
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
declare(strict_types=1);
namespace FeedIo;
use ArrayIterator;
use FeedIo\Feed\NodeInterface;
use FeedIo\Feed\ItemInterface;
use FeedIo\Feed\StyleSheet;
/**
* Interface FeedInterface
* Represents the top node of a news feed
* @package FeedIo
*/
interface FeedInterface extends \Iterator, \Countable, NodeInterface
{
/**
* This method MUST return the feed's full URL
*
* @return string|null
*/
public function getUrl(): ?string;
/**
* Sets the feed's URL. Precisely the URL to hit to get the stream
*
* @param string|null $url
* @return FeedInterface
*/
public function setUrl(string $url = null): FeedInterface;
/**
* Returns feed's description
*
* @return string|null
*/
public function getDescription(): ?string;
/**
* Sets feed's description
*
* @param string|null $description
* @return FeedInterface
*/
public function setDescription(string $description = null): FeedInterface;
/**
* @return string|null
*/
public function getLanguage(): ?string ;
/**
* @param string|null $language
* @return FeedInterface
*/
public function setLanguage(string $language = null): FeedInterface;
/**
* @return string|null
*/
public function getLogo(): ?string ;
/**
* @param string|null $logo
* @return FeedInterface
*/
public function setLogo(string $logo = null): FeedInterface;
/**
* @param ItemInterface $item
* @return FeedInterface
*/
public function add(ItemInterface $item): FeedInterface;
/**
* Returns a fresh item compatible with the feed
*
* @return ItemInterface
*/
public function newItem(): ItemInterface;
/**
* @return ArrayIterator|null
*/
public function getNS(): ?ArrayIterator;
/**
* @param string $ns
* @param string $dtd
* @return FeedInterface
*/
public function addNS(string $ns, string $dtd): FeedInterface;
/**
* @param StyleSheet $styleSheet
* @return FeedInterface
*/
public function setStyleSheet(StyleSheet $styleSheet): FeedInterface;
/**
* @return StyleSheet|null
*/
public function getStyleSheet(): ?StyleSheet;
}