System.Web.UI.WebControls.IDataBoundItemControl from reference source
[mono.git] / mcs / class / System.Web / System.Web / DefaultExceptionPageTemplate.cs
1 //
2 // Authors:
3 //   Marek Habersack <grendel@twistedcode.net>
4 //
5 // (C) 2011 Novell, Inc (http://novell.com/)
6 //
7
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
16 // 
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 // 
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28
29 using System;
30 using System.Collections.Generic;
31
32 namespace System.Web
33 {
34         sealed class DefaultExceptionPageTemplate : ExceptionPageTemplate
35         {
36                 public override void Init ()
37                 {
38                         List <ExceptionPageTemplateFragment> fragments = Fragments;
39                         
40                         fragments.Add (new ExceptionPageTemplateFragment {
41                                         Name = Template_PageTopName,
42                                         ResourceName = "ErrorTemplateCommon_Top.html",
43                                         MacroNames = new List <string> {
44                                                 "Title",
45                                                 "ExceptionType",
46                                                 "ExceptionMessage",
47                                                 "Description",
48                                                 "Details"
49                                         }
50                                 }
51                         );
52
53                         fragments.Add (new ExceptionPageTemplateFragment {
54                                         Name = Template_PageCustomErrorDefaultName,
55                                         ResourceName = "DefaultErrorTemplate_CustomErrorDefault.html",
56                                         ValidForPageType = ExceptionPageTemplateType.CustomErrorDefault
57                                 }
58                         );
59
60                         fragments.Add (new ExceptionPageTemplateFragment {
61                                         Name = Template_PageStandardName,
62                                         ResourceName = "DefaultErrorTemplate_StandardPage.html",
63                                         ValidForPageType = ExceptionPageTemplateType.Standard,
64                                         MacroNames = new List <string> {
65                                                 "StackTrace"
66                                         }
67                                 }
68                         );
69
70                         fragments.Add (new ExceptionPageTemplateFragment {
71                                         Name = Template_PageHtmlizedExceptionName,
72                                         ResourceName = "HtmlizedExceptionPage_Top.html",
73                                         ValidForPageType = ExceptionPageTemplateType.Htmlized,
74                                         MacroNames = new List <string> {
75                                                 "StackTrace",
76                                                 "HtmlizedExceptionOrigin",
77                                                 "HtmlizedExceptionSourceFile"
78                                         }
79                                 }
80                         );
81
82                         fragments.Add (new ExceptionPageTemplateFragment {
83                                         Name = "File Short Source",
84                                         ResourceName = "HtmlizedExceptionPage_FileShortSource.html",
85                                         ValidForPageType = ExceptionPageTemplateType.SourceError,
86                                         MacroNames = new List <string> {
87                                                 "HtmlizedExceptionShortSource",
88                                                 "HtmlizedExceptionSourceFile",
89                                                 "HtmlizedExceptionErrorLines"
90                                         }
91                                 }
92                         );
93
94                         fragments.Add (new ExceptionPageTemplateFragment {
95                                         Name = "File Long Source",
96                                         ResourceName = "HtmlizedExceptionPage_FileLongSource.html",
97                                         ValidForPageType = ExceptionPageTemplateType.SourceError,
98                                         MacroNames = new List <string> {
99                                                 "HtmlizedExceptionLongSource",
100                                                 "HtmlizedExceptionSourceFile",
101                                                 "HtmlizedExceptionErrorLines"
102                                         },
103                                         RequiredMacros = new List <string> {
104                                                 "HtmlizedExceptionLongSource"
105                                         }
106                                 }
107                         );
108
109                         fragments.Add (new ExceptionPageTemplateFragment {
110                                         Name = "Compiler Output",
111                                         ResourceName = "HtmlizedExceptionPage_CompilerOutput.html",
112                                         ValidForPageType = ExceptionPageTemplateType.SourceError,
113                                         MacroNames = new List <string> {
114                                                 "HtmlizedExceptionCompilerOutput",
115                                                 "HtmlizedExceptionSourceFile",
116                                                 "HtmlizedExceptionErrorLines"
117                                         },
118                                         RequiredMacros = new List <string> {
119                                                 "HtmlizedExceptionCompilerOutput"
120                                         }
121                                 }
122                         );
123                         
124                         fragments.Add (new ExceptionPageTemplateFragment {
125                                         Name = Template_PageBottomName,
126                                         ResourceName = "ErrorTemplateCommon_Bottom.html",
127                                         MacroNames = new List <string> {
128                                                 "RuntimeVersionInformation",
129                                                 "AspNetVersionInformation",
130                                                 "FullStackTrace"
131                                         }
132                                 }
133                         );
134                 }
135         }
136 }