Rss-Bridge/lib/FormatInterface.php

91 lines
1.8 KiB
PHP
Raw Normal View History

<?php
2018-11-16 21:48:59 +01:00
/**
* This file is part of RSS-Bridge, a PHP project capable of generating RSS and
* Atom feeds for websites that don't have one.
*
* For the full license information, please view the UNLICENSE file distributed
* with this source code.
*
* @package Core
* @license http://unlicense.org/ UNLICENSE
* @link https://github.com/rss-bridge/rss-bridge
*/
/**
* The format interface
*
* @todo Add missing function to the interface
* @todo Explain parameters and return values in more detail
* @todo Return self more often (to allow call chaining)
*/
interface FormatInterface {
2018-11-16 21:48:59 +01:00
/**
* Generate a string representation of the current data
*
* @return string The string representation
*/
public function stringify();
2018-11-16 21:48:59 +01:00
/**
* Display the current data to the user
*
* @return self The format object
*/
public function display();
2018-11-16 21:48:59 +01:00
/**
* Set items
*
* @param array $bridges The items
* @return self The format object
*
* @todo Rename parameter `$bridges` to `$items`
*/
public function setItems(array $bridges);
2018-11-16 21:48:59 +01:00
/**
* Return items
*
* @throws \LogicException if the items are not set
* @return array The items
*/
public function getItems();
2018-11-16 21:48:59 +01:00
/**
* Set extra information
*
* @param array $infos Extra information
* @return self The format object
*/
public function setExtraInfos(array $infos);
2018-11-16 21:48:59 +01:00
/**
* Return extra information
*
* @return array Extra information
*/
public function getExtraInfos();
2018-11-16 21:48:59 +01:00
/**
* Return MIME type
*
* @return string The MIME type
*/
public function getMimeType();
2018-11-16 21:48:59 +01:00
/**
* Set charset
*
* @param string $charset The charset
* @return self The format object
*/
public function setCharset($charset);
2018-11-16 21:48:59 +01:00
/**
* Return current charset
*
* @return string The charset
*/
public function getCharset();
}