1 <?php
2 /**
3 * @package Joomla.Platform
4 * @subpackage Controller
5 *
6 * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved.
7 * @license GNU General Public License version 2 or later; see LICENSE
8 */
9
10 defined('JPATH_PLATFORM') or die;
11
12 /**
13 * Joomla Platform Controller Interface
14 *
15 * @since 12.1
16 */
17 interface JController extends Serializable
18 {
19 /**
20 * Execute the controller.
21 *
22 * @return boolean True if controller finished execution, false if the controller did not
23 * finish execution. A controller might return false if some precondition for
24 * the controller to run has not been satisfied.
25 *
26 * @since 12.1
27 * @throws LogicException
28 * @throws RuntimeException
29 */
30 public function execute();
31
32 /**
33 * Get the application object.
34 *
35 * @return AbstractApplication The application object.
36 *
37 * @since 12.1
38 */
39 public function getApplication();
40
41 /**
42 * Get the input object.
43 *
44 * @return JInput The input object.
45 *
46 * @since 12.1
47 */
48 public function getInput();
49 }
50