Refactored the Kernel registration fluent interface to be more readable, better suppo...
[castle.git] / MonoRail / Castle.MonoRail.Framework / IControllerContext.cs
blob466eee3097d1ddf60e313c1136b9b93d817cbe63
1 // Copyright 2004-2008 Castle Project - http://www.castleproject.org/
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
15 namespace Castle.MonoRail.Framework
17 using System.Collections;
18 using System.Collections.Generic;
19 using Castle.MonoRail.Framework.Resources;
20 using Descriptors;
21 using Routing;
23 /// <summary>
24 /// Pendent
25 /// </summary>
26 public interface IControllerContext
28 /// <summary>
29 /// Gets or sets the custom action parameters.
30 /// </summary>
31 /// <value>The custom action parameters.</value>
32 IDictionary<string, object> CustomActionParameters { get; set; }
34 /// <summary>
35 /// Gets the property bag, which is used
36 /// to pass variables to the view.
37 /// </summary>
38 IDictionary PropertyBag { get; set; }
40 /// <summary>
41 /// Gets a dictionary of name/helper instance
42 /// </summary>
43 /// <value>The helpers.</value>
44 HelperDictionary Helpers { get; set; }
46 /// <summary>
47 /// Gets the controller's name.
48 /// </summary>
49 string Name { get; set; }
51 /// <summary>
52 /// Gets the controller's area name.
53 /// </summary>
54 string AreaName { get; set; }
56 /// <summary>
57 /// Gets or set the layout being used.
58 /// </summary>
59 string[] LayoutNames { get; set; }
61 /// <summary>
62 /// Gets the name of the action being processed.
63 /// </summary>
64 string Action { get; set; }
66 /// <summary>
67 /// Gets or sets the view which will be rendered after this action executes.
68 /// </summary>
69 string SelectedViewName { get; set; }
71 /// <summary>
72 /// Gets the view folder -- (areaname +
73 /// controllername) or just controller name -- that this controller
74 /// will use by default.
75 /// </summary>
76 string ViewFolder { get; set; }
78 /// <summary>
79 /// Gets a dicitionary of name/<see cref="IResource"/>
80 /// </summary>
81 /// <remarks>It is supposed to be used by MonoRail infrastructure only</remarks>
82 /// <value>The resources.</value>
83 IDictionary<string, IResource> Resources { get; }
85 /// <summary>
86 /// Gets the dynamic actions.
87 /// </summary>
88 /// <value>The dynamic actions.</value>
89 IDictionary<string, IDynamicAction> DynamicActions { get; }
91 /// <summary>
92 /// Gets or sets the controller descriptor.
93 /// </summary>
94 /// <value>The controller descriptor.</value>
95 ControllerMetaDescriptor ControllerDescriptor { get; set; }
97 /// <summary>
98 /// Gets or sets the route match.
99 /// </summary>
100 /// <value>The route match.</value>
101 RouteMatch RouteMatch { get; set; }