<?php namespace Kanboard\Core\ExternalLink; /** * External Link Provider Interface * * @package externalLink * @author Frederic Guillot */ interface ExternalLinkProviderInterface { /** * Get provider name (label) * * @access public * @return string */ public function getName(); /** * Get link type (will be saved in the database) * * @access public * @return string */ public function getType(); /** * Get a dictionary of supported dependency types by the provider * * Example: * * [ * 'related' => 'Related', * 'child' => 'Child', * 'parent' => 'Parent', * 'self' => 'Self', * ] * * The dictionary key is saved in the database. * * @access public * @return array */ public function getDependencies(); /** * Set text entered by the user * * @access public * @param string $input */ public function setUserTextInput($input); /** * Return true if the provider can parse correctly the user input * * @access public * @return boolean */ public function match(); /** * Get the link found with the properties * * @access public * @return ExternalLinkInterface */ public function getLink(); }