2 /*****************************************************************************
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
18 ********************************************************************************/
23 /************************************************
25 *************************************************/
29 using System
.Collections
;
31 using Castle
.MVC
.StatePersister
;
33 namespace Castle
.MVC
.States
36 /// Maintains user process state.
38 public interface IState
42 /// A state persister provider.
44 IStatePersister StatePersister { get; set; }
47 /// Gets or sets an element saved on the state with the specified key.
49 object this[ string key
]{ get; set; }
52 /// Gets or sets the command id value. This value determines
53 /// which view is the next view in the mapping graph.
55 string Command { get; set; }
58 /// Gets or sets the current view.
60 string CurrentView { get; set; }
63 /// Gets or sets the previous view.
65 string PreviousView { get; set; }
68 /// Provides access to a dictionary of volative items.
70 IDictionary Items { get; }
73 /// Reset volatile items and command.