Adding JMCR-Stable version
[Benchmarks_CSolver.git] / JMCR-Stable / mcr-test / WWW / Doc / Programmer / samples / FancyFrame.html
diff --git a/JMCR-Stable/mcr-test/WWW/Doc/Programmer/samples/FancyFrame.html b/JMCR-Stable/mcr-test/WWW/Doc/Programmer/samples/FancyFrame.html
new file mode 100644 (file)
index 0000000..3fd45f7
--- /dev/null
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0//EN"\r
+                      "http://www.w3.org/TR/REC-html40/strict.dtd">\r
+<html>\r
+  <head>\r
+    <title>FancyFrame.java</title>\r
+    <meta name="Author" content="Benoit Mahe">\r
+    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">\r
+    <meta name="Generator" content="*emacs: emacs-css">\r
+\r
+    <link rel="Stylesheet" media="screen" type="text/css" href="default-html.css">\r
+  </head>\r
+  <body>\r
+\r
+    <pre>\r
+<span class="comment">// FancyFrame.java\r
+// $Id: FancyFrame.html,v 1.1 2010/06/15 12:20:01 smhuang Exp $\r
+// (c) COPYRIGHT MIT and INRIA, 1998.\r
+// Please first read the full copyright statement in file COPYRIGHT.html\r
+</span>\r
+<span class="keyword">package</span> <span class="reference">org</span>.<span class="reference">w3c</span>.<span class="reference">jigsaw</span>.<span class="type">tutorials</span>;\r
+\r
+<span class="keyword">import</span> <span class="reference">java</span>.<span class="reference">util</span>.*;\r
+\r
+<span class="keyword">import</span> <span class="reference">org</span>.<span class="reference">w3c</span>.<span class="reference">tools</span>.<span class="reference">resources</span>.*;\r
+<span class="keyword">import</span> <span class="reference">org</span>.<span class="reference">w3c</span>.<span class="reference">jigsaw</span>.<span class="reference">frames</span>.*;\r
+<span class="keyword">import</span> <span class="reference">org</span>.<span class="reference">w3c</span>.<span class="reference">jigsaw</span>.<span class="reference">html</span>.*;\r
+<span class="keyword">import</span> <span class="reference">org</span>.<span class="reference">w3c</span>.<span class="reference">jigsaw</span>.<span class="reference">http</span>.* ;\r
+<span class="keyword">import</span> <span class="reference">org</span>.<span class="reference">w3c</span>.<span class="reference">www</span>.<span class="reference">http</span>.* ;\r
+\r
+<span class="comment">/**\r
+ * </span><span class="keyword">@version </span><span class="comment">$Revision: 1.1 $\r
+ * </span><span class="keyword">@author </span><span class="comment"> Benoît Mahé (bmahe@w3.org)\r
+ */</span>\r
+<span class="reference">public</span> <span class="keyword">class</span> <span class="function-name">FancyFrame</span> <span class="keyword">extends</span> <span class="type">HTTPFrame</span> {\r
+\r
+    <span class="comment">/**\r
+     * Attribute index - Message to display\r
+     */</span>\r
+    <span class="preprocessor">protected</span> <span class="type">static</span> <span class="type">int</span> <span class="variable-name">ATTR_MESSAGE</span> = -1 ;\r
+\r
+    <span class="type">static</span> {\r
+       <span class="type">Attribute</span> <span class="variable-name">a</span>   = <span class="keyword">null</span> ;\r
+       <span class="type">Class</span>     <span class="variable-name">cls</span> = <span class="keyword">null</span> ;\r
+\r
+       <span class="keyword">try</span> {\r
+           cls = Class.forName("<span class="string">org.w3c.jigsaw.tutorials.FancyFrame</span>");\r
+       } <span class="keyword">catch</span> (<span class="type">Exception</span> <span class="variable-name">ex</span>) {\r
+           ex.printStackTrace() ;\r
+           System.exit(1) ;\r
+       }\r
+\r
+       <span class="comment">// The message attribute\r
+</span>         a = <span class="keyword">new</span> <span class="type">StringAttribute</span>("<span class="string">message</span>", "<span class="string">Hello</span>", Attribute.EDITABLE) ;\r
+        ATTR_MESSAGE = AttributeRegistry.registerAttribute(cls, a) ;\r
+    }\r
+\r
+    <span class="comment">/**\r
+     * Get the message.\r
+     * </span><span class="keyword">@return </span><span class="comment">A String instance.\r
+     */</span>\r
+    <span class="reference">public</span> <span class="type">String</span> <span class="function-name">getMessage</span>() {\r
+       <span class="keyword">return</span> getString(ATTR_MESSAGE, <span class="keyword">null</span>);\r
+    }\r
+\r
+    <span class="comment">/**\r
+     * Display the Frame message and some attributes of our\r
+     * associated FileResource. This method is called only if\r
+     * our associated resource *is* a FileResource.\r
+     * </span><span class="keyword">@param </span><span class="variable-name">request</span><span class="comment"> The request to handle.\r
+     * </span><span class="keyword">@return </span><span class="comment">A Reply instance.\r
+     * </span><span class="keyword">@exception </span><span class="type">ProtocolException</span><span class="comment"> if processing the request failed\r
+     * </span><span class="keyword">@exception </span><span class="type">NotAProtocolException</span><span class="comment"> if an internal error occurs\r
+     */</span>\r
+    <span class="preprocessor">protected</span> <span class="type">Reply</span> <span class="function-name">getFileResource</span>(<span class="type">Request</span> <span class="variable-name">request</span>) \r
+       <span class="keyword">throws</span> <span class="type">ProtocolException</span>, <span class="type">NotAProtocolException</span>\r
+    {\r
+       <span class="comment">// get our associated FileResource\r
+</span>        <span class="type">FileResource</span> <span class="variable-name">fres</span> = getFileResource();\r
+       <span class="comment">// Create the HTML generator, and set titles:\r
+</span>        <span class="type">HtmlGenerator</span> <span class="variable-name">g</span> = <span class="keyword">new</span> <span class="type">HtmlGenerator</span>("<span class="string">FancyFrame</span>");\r
+       g.append("<span class="string">&lt;h1&gt;FancyFrame output&lt;/h1&gt;</span>");\r
+       <span class="comment">// emit the message\r
+</span>        g.append("<span class="string">&lt;p&gt;</span>",getMessage(),"<span class="string">&lt;/p&gt;</span>");\r
+       <span class="comment">// display information about our FileResource\r
+</span>        g.append("<span class="string">&lt;h2&gt; FileResource associated : &lt;/h2&gt;</span>");\r
+       g.append("<span class="string">&lt;ul&gt;&lt;li&gt;Identifier : </span>",fres.getIdentifier());\r
+       g.append("<span class="string">&lt;li&gt;File : </span>"+fres.getFile());\r
+       g.append("<span class="string">&lt;li&gt;Last Modified Time : </span>",\r
+                <span class="keyword">new</span> <span class="type">Date</span>(fres.getLastModified()).toString(),\r
+                "<span class="string">&lt;/ul&gt;</span>");\r
+       <span class="comment">// now emit the reply\r
+</span>        <span class="type">Reply</span> <span class="variable-name">reply</span> = createDefaultReply(request, HTTP.OK) ;\r
+       reply.setStream(g) ;\r
+       <span class="keyword">return</span> reply ;\r
+    }\r
+\r
+    <span class="comment">/**\r
+     * Display the Frame message and some attributes of our\r
+     * associated DirectoryResource. This method is called only if\r
+     * our associated resource *is* a DirectoryResource.\r
+     * </span><span class="keyword">@param </span><span class="variable-name">request</span><span class="comment"> The request to handle.\r
+     * </span><span class="keyword">@return </span><span class="comment">A Reply instance.\r
+     * </span><span class="keyword">@exception </span><span class="type">ProtocolException</span><span class="comment"> if processing the request failed\r
+     * </span><span class="keyword">@exception </span><span class="type">NotAProtocolException</span><span class="comment"> if an internal error occurs\r
+     */</span>\r
+    <span class="preprocessor">protected</span> <span class="type">Reply</span> <span class="function-name">getDirectoryResource</span>(<span class="type">Request</span> <span class="variable-name">request</span>) \r
+       <span class="keyword">throws</span> <span class="type">ProtocolException</span>, <span class="type">NotAProtocolException</span>\r
+    {\r
+       <span class="comment">// get our associated DirectoryResource\r
+</span>        <span class="type">DirectoryResource</span> <span class="variable-name">dres</span> = getDirectoryResource();\r
+       <span class="comment">// Create the HTML generator, and set titles:\r
+</span>        <span class="type">HtmlGenerator</span> <span class="variable-name">g</span> = <span class="keyword">new</span> <span class="type">HtmlGenerator</span>("<span class="string">FancyFrame</span>");\r
+       g.append("<span class="string">&lt;h1&gt;FancyFrame output&lt;/h1&gt;</span>");\r
+       <span class="comment">// emit the message\r
+</span>        g.append("<span class="string">&lt;p&gt;</span>",getMessage(),"<span class="string">&lt;/p&gt;</span>");\r
+       <span class="comment">// display information about our DirectoryResource\r
+</span>        g.append("<span class="string">&lt;h2&gt; DirectoryResource associated : &lt;/h2&gt;</span>");\r
+       g.append("<span class="string">&lt;ul&gt;&lt;li&gt;Identifier : </span>",dres.getIdentifier());\r
+       g.append("<span class="string">&lt;li&gt;Directory : </span>"+dres.getDirectory());\r
+       g.append("<span class="string">&lt;li&gt;Last Modified Time : </span>",\r
+                <span class="keyword">new</span> <span class="type">Date</span>(dres.getLastModified()).toString(),\r
+                "<span class="string">&lt;/ul&gt;</span>");\r
+       <span class="comment">// now emit the reply\r
+</span>        <span class="type">Reply</span> <span class="variable-name">reply</span> = createDefaultReply(request, HTTP.OK) ;\r
+       reply.setStream(g) ;\r
+       <span class="keyword">return</span> reply ;\r
+    }\r
+\r
+    <span class="comment">/**\r
+     * Display the Frame message and some attributes of our\r
+     * associated Resource. This method is called if the associated\r
+     * resource has been registered with &lt;strong&gt;registerOtherResource&lt;/strong&gt;\r
+     * or if it's not a usual resource (FileResource, DirectoryResource)\r
+     * </span><span class="keyword">@param </span><span class="variable-name">request</span><span class="comment"> The request to handle.\r
+     * </span><span class="keyword">@return </span><span class="comment">A Reply instance.\r
+     * </span><span class="keyword">@exception </span><span class="type">ProtocolException</span><span class="comment"> if processing the request failed\r
+     * </span><span class="keyword">@exception </span><span class="type">NotAProtocolException</span><span class="comment"> if an internal error occurs\r
+     */</span>\r
+    <span class="preprocessor">protected</span> <span class="type">Reply</span> <span class="function-name">getOtherResource</span>(<span class="type">Request</span> <span class="variable-name">request</span>) \r
+       <span class="keyword">throws</span> <span class="type">ProtocolException</span>, <span class="type">NotAProtocolException</span>\r
+    {  <span class="comment">// get our associated Resource\r
+</span>        <span class="type">FramedResource</span> <span class="variable-name">res</span> = getResource();\r
+       <span class="comment">// Create the HTML generator, and set titles:\r
+</span>        <span class="type">HtmlGenerator</span> <span class="variable-name">g</span> = <span class="keyword">new</span> <span class="type">HtmlGenerator</span>("<span class="string">FancyFrame</span>");\r
+       g.append("<span class="string">&lt;h1&gt;FancyFrame output&lt;/h1&gt;</span>");\r
+       <span class="comment">// emit the message\r
+</span>        g.append("<span class="string">&lt;p&gt;</span>",getMessage(),"<span class="string">&lt;/p&gt;</span>");\r
+       <span class="comment">// display information about our Resource\r
+</span>        g.append("<span class="string">&lt;h2&gt; Resource associated : &lt;/h2&gt;</span>");\r
+       g.append("<span class="string">&lt;ul&gt;&lt;li&gt;Identifier : </span>",res.getIdentifier());\r
+       g.append("<span class="string">&lt;li&gt;Last Modified Time : </span>",\r
+                <span class="keyword">new</span> <span class="type">Date</span>(res.getLastModified()).toString(),\r
+                "<span class="string">&lt;/ul&gt;</span>");\r
+       <span class="comment">// now emit the reply\r
+</span>        <span class="type">Reply</span> <span class="variable-name">reply</span> = createDefaultReply(request, HTTP.OK) ;\r
+       reply.setStream(g) ;\r
+       <span class="keyword">return</span> reply ;\r
+\r
+    }\r
+    \r
+}\r
+\r
+    </pre>\r
+  </body>\r
+</html>\r