You are here

interface IssueInterface in Drupal 7 to 8/9 Module Upgrader 8

Hierarchy

Expanded class hierarchy of IssueInterface

All classes that implement IssueInterface

File

src/IssueInterface.php, line 7

Namespace

Drupal\drupalmoduleupgrader
View source
interface IssueInterface {

  /**
   * Returns the title of the issue.
   *
   * @return string
   */
  public function getTitle();

  /**
   * Sets the title of the issue.
   *
   * @param string $title
   *
   * @return $this
   */
  public function setTitle($title);

  /**
   * Returns the issue summary.
   *
   * @return string
   */
  public function getSummary();

  /**
   * Sets the issue summary.
   *
   * @param string $summary
   *
   * @return $this
   */
  public function setSummary($summary);

  /**
   * Adds a piece of documentation relevant to the issue.
   *
   * @param string $url
   *   The documentation's full URL.
   * @param string $title
   *   The documentation's displayed title.
   *
   * @return $this
   */
  public function addDocumentation($url, $title);

  /**
   * Returns all documentation as an array of arrays, each containing 'url'
   * and 'title' keys.
   *
   * @return array
   */
  public function getDocumentation();

  /**
   * Marks a particular file as being affected by this issue.
   *
   * @param string $file
   *   The path of the affected file.
   * @param \Drupal\drupalmoduleupgrader\AnalyzerInterface $detector
   *   The plugin which detected the problem.
   *
   * @return $this
   */
  public function addAffectedFile($file, AnalyzerInterface $detector);

  /**
   * Flags a single violation of this issue in a particular syntax node.
   *
   * @param \Pharborist\Node $node
   *   The offending syntax tree node.
   * @param \Drupal\drupalmoduleupgrader\AnalyzerInterface $detector
   *   The plugin which detected the violation.
   *
   * @return $this
   */
  public function addViolation(Node $node, AnalyzerInterface $detector);

  /**
   * Returns all violations as an array of arrays, each of which has a 'file' key
   * (required), and an optional 'line_number' key.
   *
   * @return array
   */
  public function getViolations();

  /**
   * Returns the fully qualified names of every plugin which detected violations,
   * as set by addAffectedFile() and addViolation().
   *
   * @return string[]
   */
  public function getDetectors();

  /**
   * Returns if a tag is set on the issue.
   *
   * @param string $tag
   *   The tag's name.
   *
   * @return bool
   */
  public function hasTag($tag);

  /**
   * Returns the value set for a tag. The tag value can be anything; the
   * meaning of the value depends on the tag.
   *
   * @param string $tag
   *   The tag's name.
   *
   * @return mixed
   */
  public function getTag($tag);

  /**
   * Sets the value for a tag. Any existing value for the tag will be
   * blown away.
   *
   * @param string $tag
   *   The tag's name.
   * @param mixed $value
   *   The tag value. Can be anything.
   *
   * @return $this
   */
  public function setTag($tag, $value);

  /**
   * Clears all values for a tag.
   *
   * @param string $tag
   *   The tag's name.
   *
   * @return $this
   */
  public function clearTag($tag);

  /**
   * Gets all fixes queued for this issue. Each fix will be an array with at
   * least a _plugin_id element, containing the plugin ID of the fixer to use.
   * Everything else will be given to the fixer as configuration.
   *
   * @return array[]
   */
  public function getFixes();

  /**
   * Adds a fix for this issue.
   *
   * @param string $fixer_id
   *   The plugin ID of the fixer to use.
   * @param array $configuration
   *   Optional configuration for the fixer.
   *
   * @return $this
   */
  public function addFix($fixer_id, array $configuration = []);

}

Members

Namesort descending Modifiers Type Description Overrides
IssueInterface::addAffectedFile public function Marks a particular file as being affected by this issue. 1
IssueInterface::addDocumentation public function Adds a piece of documentation relevant to the issue. 1
IssueInterface::addFix public function Adds a fix for this issue. 1
IssueInterface::addViolation public function Flags a single violation of this issue in a particular syntax node. 1
IssueInterface::clearTag public function Clears all values for a tag. 1
IssueInterface::getDetectors public function Returns the fully qualified names of every plugin which detected violations, as set by addAffectedFile() and addViolation(). 1
IssueInterface::getDocumentation public function Returns all documentation as an array of arrays, each containing 'url' and 'title' keys. 1
IssueInterface::getFixes public function Gets all fixes queued for this issue. Each fix will be an array with at least a _plugin_id element, containing the plugin ID of the fixer to use. Everything else will be given to the fixer as configuration. 1
IssueInterface::getSummary public function Returns the issue summary. 1
IssueInterface::getTag public function Returns the value set for a tag. The tag value can be anything; the meaning of the value depends on the tag. 1
IssueInterface::getTitle public function Returns the title of the issue. 1
IssueInterface::getViolations public function Returns all violations as an array of arrays, each of which has a 'file' key (required), and an optional 'line_number' key. 1
IssueInterface::hasTag public function Returns if a tag is set on the issue. 1
IssueInterface::setSummary public function Sets the issue summary. 1
IssueInterface::setTag public function Sets the value for a tag. Any existing value for the tag will be blown away. 1
IssueInterface::setTitle public function Sets the title of the issue. 1