API

This chapter provides information about all necessary interfaces, classes and enumerations. For up-to-date information, please read the source code. The interfaces and classes primarily serve as a façade for the alexdebril/feed-io library being used.

This extension provides some implementations of interfaces as value objects. However, you can also create your own implementations as long as they implement the appropriate interfaces.

enum FeedFormat {
   ATOM
   JSON
   RSS
}

interface AuthorInterface {
   getEmail()
   getName()
   getUri()
}
interface FeedInterface {
   getDescription()
   getItems()
   getLanguage()
   getLogo()
}
interface FeedFormatAwareInterface {
   setFormat()
}
interface ItemInterface {
   getContent()
   getMedias()
   getSummary()
}
interface MediaInterface {
   getLength()
   getTitle()
   getType()
   getUrl()
}
interface NodeInterface {
   getAuthor()
   getLastModified()
   getLink()
   getPublicId()
   getTitle()
}
interface RequestAwareInterface {
   setRequest()
}
interface StyleSheetAwareInterface {
   getStyleSheet()
}

class Author
class Item
class Media

class YourFeed
note left: This is your feed implementation class

YourFeed -[hidden]> FeedFormat

FeedInterface <|-- NodeInterface
ItemInterface <|-- NodeInterface

Author <|.. AuthorInterface
Item <|.. ItemInterface
Media <|.. MediaInterface

FeedInterface ..|> YourFeed : required
FeedFormatAwareInterface ..|> YourFeed : optional
RequestAwareInterface ..|> YourFeed : optional
StyleSheetAwareInterface ..|> YourFeed : optional

Item "1" *-- "0 .. 1" Author : contains
Item "1" *-- "0 .. n" Media : contains

YourFeed "1" *-- "0 .. n" Item : contains
YourFeed .. FeedFormat : used in attributes