1 <?php
 2 /**
 3  * @package     Joomla.Platform
 4  * @subpackage  Model
 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 use Joomla\Registry\Registry;
13 
14 /**
15  * Joomla Platform Model Interface
16  *
17  * @since  12.1
18  */
19 interface JModel
20 {
21     /**
22      * Get the model state.
23      *
24      * @return  Registry  The state object.
25      *
26      * @since   12.1
27      */
28     public function getState();
29 
30     /**
31      * Set the model state.
32      *
33      * @param   Registry  $state  The state object.
34      *
35      * @return  void
36      *
37      * @since   12.1
38      */
39     public function setState(Registry $state);
40 }
41