/
2502.html
1505 lines (1496 loc) · 92.3 KB
/
2502.html
1
<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoft-com:office:word"xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Titlecontent="Errata for 582-3 Asleson (corrected in the second printing)"><meta name=Keywords content=""><meta http-equiv=Content-Type content="text/html; charset=macintosh"><meta name=ProgId content=Word.Document><meta name=Generator content="Microsoft Word 11"><meta name=Originator content="Microsoft Word 11"><link rel=File-List href="388-X%20Holub_files/filelist.xml"><title>Errata for 582-3 Asleson (corrected in the second printing)</title><!--[if gte mso 9]><xml> <o:DocumentProperties> <o:Author>Richard Ables</o:Author> <o:Template>Normal</o:Template> <o:LastAuthor>Richard Ables</o:LastAuthor> <o:Revision>2</o:Revision> <o:Created>2005-12-02T01:33:00Z</o:Created> <o:LastSaved>2005-12-02T01:33:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>1385</o:Words> <o:Characters>7896</o:Characters> <o:Lines>65</o:Lines> <o:Paragraphs>15</o:Paragraphs> <o:CharactersWithSpaces>9696</o:CharactersWithSpaces> <o:Version>11.0</o:Version> </o:DocumentProperties> <o:OfficeDocumentSettings> <o:AllowPNG/> </o:OfficeDocumentSettings></xml><![endif]--><!--[if gte mso 9]><xml> <w:WordDocument> <w:Zoom>125</w:Zoom> <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery> <w:DisplayVerticalDrawingGridEvery>0</w:DisplayVerticalDrawingGridEvery> <w:UseMarginsForDrawingGridOrigin/> </w:WordDocument></xml><![endif]--><style><!-- /* Font Definitions */@font-face {font-family:"Times New Roman"; panose-1:0 2 2 6 3 5 4 5 2 3; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Verdana; panose-1:0 2 11 6 4 3 5 4 4 2; mso-font-charset:0; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Verdana-Bold; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:Verdana; mso-font-charset:77; mso-generic-font-family:auto; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:TheSansMonoCondensed-SemiLight; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"TheSansMonoCon-4 SemiLight"; mso-font-charset:77; mso-generic-font-family:auto; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Utopia-Regular; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:Utopia; mso-font-charset:77; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Regular; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Times New Roman"; mso-font-charset:77; mso-generic-font-family:auto; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;}@font-face {font-family:Utopia-Bold; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Utopia Bold"; mso-font-charset:77; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:50331648 0 0 0 1 0;} /* Style Definitions */p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman";}table.MsoNormalTable {mso-style-parent:""; font-size:10.0pt; font-family:"Times New Roman";}@page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;}div.Section1 {page:Section1;}--></style></head><body bgcolor=white lang=EN-US style='tab-interval:.5in'><div class=Section1><p class=MsoNormal>Errata 388-X Holub (corrected in the 2nd printing)</p><table border=1 cellspacing=0 cellpadding=0 width=563 style='width:563.4pt; border-collapse:collapse;border:none;mso-border-top-alt:solid gray 1.0pt; mso-border-left-alt:solid gray 1.0pt;mso-border-right-alt:solid gray 1.0pt; mso-padding-alt:0in 5.4pt 0in 5.4pt'> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:14.0pt; font-family:Verdana-Bold;color:#333333'><b>Page</b></span><span style='font-size:14.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border:solid gray 1.0pt;border-left:none; mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:14.0pt; font-family:Verdana-Bold;color:#333333'><b>Original Sentence</b></span><span style='font-size:14.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border:solid gray 1.0pt;border-left:none; mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-size:14.0pt; font-family:Verdana-Bold;color:#333333'><b>Corrected Sentence</b></span><span style='font-size:14.0pt;font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'><span style="mso-spacerun: yes"> </span>7<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>Simply using pattern doesnÕt guarantee success.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>Simply using patterns doesnÕt guarantee success.</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>16<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(For example, comparing two Employee objects for equality must now use the ID, so youÕll have to modify all this code.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(For example, comparing two Employee objects for equality must now use the ID, so youÕll have to modify all this code.)</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>16<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>You canÕt even automate the update-the-code process, because all that WYSIWYG functionality touted in the advertisements hides the code-generation process.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>You canÕt even automate the update-the-code process, because all that WYSIWYG form layout touted in the advertisements hides the code-generation process.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>16<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>YouÕre better off just using some procedural that really is simple if you want to write procedural systems.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>YouÕre better off just using some procedural language that really is simple if you want to write procedural systems.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>28<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>For this reason, a ÒmetadataÓ feature will be incorporated into the 1.5 release of Java (due out in mid-2004).</span><span style='font-size:10.0pt; font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>For this reason, a ÒmetadataÓ feature will be incorporated<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>into the 1.5 release of Java.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>36<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The Servlet classes are good example of an encapsulated implementation that nonetheless supports information movement, though they could go even further by providing an abstraction layer that you could use to build HTML.</span><span style='font-size:10.0pt;font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The Servlet classes are a good example of an encapsulated implementation that nonetheless supports information movement, though they could go even further by providing an abstraction layer that you could use to build HTML.</span><span style='font-size:10.0pt;font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>48<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(My class extends JFrame and implements the MenuSite interface, delegating all MenuSite operations to a default-implementation object.)</span><span style='font-size:10.0pt;font-family:Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(My class extends JFrame and implements the MenuSite interface, delegating all MenuSite operations to a default implementation object.)</span><span style='font-size:10.0pt;font-family:Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>49<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>YouÕll have to derive classes from Editor, Editable Text Control, and Standalone Editor to get the new key mappings to be universally supported.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>YouÕll have to derive classes from Editor, EditableTextControl, and Standalone Editor to get the new key mappings to be universally supported.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>51<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>Listing 2-2 shows a stripped-down version of the real MarkupClass.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>Listing 2-2 shows a stripped-down version of the real MarkupPanel class.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>57<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>No operations exist.</span><span style='font-size:7.5pt;font-family:Utopia-Regular'>2</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>No common operations exist.</span><span style='font-size:7.5pt;font-family:Utopia-Regular'>2</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>65<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The objectClosed (set on line 10 and tested in all the public methods) makes sure that an error is printed on the console window if someone tries to use the Singleton while shutdown isin progress.</span><span style='font-size:10.0pt; font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The objectClosed flag (set on line 10 and tested in all the public methods) makes sure that an error is printed on the console window if someone tries to use the Singleton while shutdown is in progress.</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>76<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>public void main( String[] args )</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>public static void main( String[] args )</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>79<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>use a Strategy object use to create the auxiliary<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>objects.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>use a Strategy object to create the auxiliary objects.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>80<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>If you want to skip ahead, the previous code is on line 1 of Listing 3-7, p. 142.)</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>If you want to skip ahead, the previous code is on line 140 of Listing 3-7, p. 142.)</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>95<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>synchronized( this )<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ localCopy = subscribers.clone();</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>synchronized( this )<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ localCopy = localCopy.clone();</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>119<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The Clock classÕs createMenus method (Listing 3-1, line 57, reproduced next) sets up the menus for the Clock object to use.</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The Clock classÕs createMenus method (Listing 3-1, line 57, on page 91) sets up the menus for the Clock object to use.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>151<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>19<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>20 import com.holub.io.P;<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>21</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>19<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>20<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>21</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>162<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>For example, the universe sets itself up to receive mouse-click messages on line 92 of Listing 3-7.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>For example, the Universe sets itself up to receive mouse-click messages on line 92 of Listing 3-7.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>162<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The Universe also sets up and manages the Grid menu that clears the game board loads previously stored game states.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The Universe also sets up and manages the Grid menu that clears the game board and loads previously stored game states.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>167<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ public Cell creator()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ return new Neighborhood<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>( DEFAULT_GRID_SIZE,<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>new Creator()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ public Cell creator()</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ public Cell create()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ return new Neighborhood<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>( DEFAULT_GRID_SIZE,<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>new Creator()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ public Cell create()</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>168<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>A call to clone() works just fine if you didnÕt<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>mind the cast.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>A call to clone() works just fine if you donÕt<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>mind the cast.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>168<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>It subscribes to the clock-tick message as follows (Listing 3-7, line 1):</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>It subscribes to the clock-tick message as follows (Listing 3-7, line 140):</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>170<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The add(...) method sets a bit. The has(...) method tests that a bit is set.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The add() method sets a bit. The has() method tests that a bit is set.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>172<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The add(...) method, for example, takes a Direction argument, not an int that holds a bit mask. If I allowed an int argument, it would be possible for a careless programmer to pass a nonsense value into add(...). Passing a Direction makes it impossible to pass add(...) a bad value.</span><span style='font-size:10.0pt;font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The add() method, for example, takes a Direction argument, not an int that holds a bit mask. If I allowed an int argument, it would be possible for a careless programmer to pass a nonsense value into add(). Passing a Direction makes it impossible to pass add() a bad value.</span><span style='font-size:10.0pt; font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>178<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>YouÕll remember that OLE container uses Memento to store the state of the in-place activated object. When Excel (the Originator) shuts down, it passes its state to Word as a<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>memento—a byte array that Word stored until Excel needed it again.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>YouÕll remember that the OLE container uses Memento to store the state of the in-place activated object. When Excel (the Originator) shuts down, it passes its state to Word as a<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>memento—a byte array that Word stores until Excel needs again.</span><span style='font-size:10.0pt;font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>179<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>It has only two methods, load(...) and flush(...),<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>which do the obvious.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>It has only two methods, load() and flush(), which<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>do the obvious.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>188<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The JDBC layer completely hides<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>the underlying Table and TableIterator interfaces.</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The JDBC layer completely hides<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>the underlying Table and Cursor interfaces.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>209<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>As was the case with the Exporter constructor,</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>As was the case with the Importer constructor,</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>215<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The fact that the ÒdirtyÓ state is stored in a boolean, and that getDirty() returns that</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The fact that the ÒdirtyÓ state is stored in a boolean, and that isDirty() returns that</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>221<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(described on p. 226) by calling registerUpdate(...) or registerDelete(...).</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(described on p. 226) by calling registerUpdate() or registerDelete().</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>264<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>contain metacharacters, a WordToken is created if the specification ends in a character thatÕs</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>contain metacharacters, the factory creates a WordToken if the specification ends in a character</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>264<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The advancePast() method returns its argument<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>with the lexeme removed from the front of it.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-family:Verdana;color:#333333'>(None-sentence was deleted)<o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>270<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>if( tokenizer.match(DESIRED_TOKEN) )<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ doSomething( t.lexeme(); ) // or use DESIRED_TOKEN.lexeme()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>Token t = tokenizer.advance();</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>if( tokenizer.match(DESIRED_TOKEN) )<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ Token t = tokenizer.advance();<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:TheSansMonoCondensed-SemiLight'>doSomething( t.lexeme(); ) // or use DESIRED_TOKEN.lexeme()</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>276<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>As far as the servlet is concerted, the user is authenticated, and the database information is fetched and stored by magic.</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>As far as the servlet is concerned, the user is authenticated, and the database information is fetched and stored by magic.</span><span style='font-family: Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>278<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The parser needs to throw aParseFailure if it finds malformed SQL.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The parser needs to throw a ParseFailure if it finds malformed SQL.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>310<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The basic notion of the Interpreter pattern is to implement an interpreter by traversing a physical tree is a Command object that represents the abstract-syntax tree for an expression in some grammar.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The basic notion of the Interpreter pattern is to implement an interpreter by traversing a physical tree of Command objects that represents the abstract-syntax tree for an expression in some grammar.</span><span style='font-size:10.0pt;font-family:Utopia-Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>334<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>In the State pattern, these implementers of the State has the role of Concrete State.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>In the State pattern, these implementers of the State have the role of Concrete State.</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>344<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>As a Bridge, it does serve to isolate your code from some of the problems that can emerge when you change databases.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>As a Bridge, JDBC does serve to isolate your code from some of the problems that can emerge when you change databases.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>344<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(for example, database)</span><span style='font-size:10.0pt;font-family:Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Regular'>(for example, a database)</span><span style='font-size:10.0pt;font-family:Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>369<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>public int size()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ return component.size();<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>}</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>synchronized public int size()<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>{ return component.size();<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>}</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>375<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>? new Real(id)<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>: new Proxy(id);</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>? lookup(id)<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.0pt;font-family:TheSansMonoCondensed-SemiLight'>: new Proxy(id);</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>381<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>private class InsertAction implements Action</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>private class Inserter implements Action</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>381<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>public InsertAction(char newCharacter)</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>public Inserter(char newCharacter)</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>381<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>private class DeleteAction implements Action</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>private class Deleter implements Action</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>390<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:8.5pt;font-family:Utopia-Bold'><b>Participant</b></span><span style='font-size:8.5pt;font-family:Utopia-Bold'>: Implements the Observer interface to do something when notified.</span><span style='font-family:Verdana; color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:8.5pt;font-family:Utopia-Bold'><b>Concrete Observer</b></span><span style='font-size:8.5pt;font-family:Utopia-Bold'>: Implements the Observer interface to do something when notified.</span><span style='font-size:10.0pt;font-family:Utopia-Bold'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>397<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>class KeepaliveProtocolHandler<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>{</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>class KeepaliveProtocolHandler extends<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>ProtocolHandler2<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:7.5pt;font-family:TheSansMonoCondensed-SemiLight'>{</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>397<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:8.5pt;font-family:Regular'>(Ignore the fact that Java grants package access to protected<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:8.5pt;font-family:Regular'>fields</span><span style='font-size:8.5pt;font-family:Symbol'></span><span style='font-size:8.5pt;font-family:Regular'>that is really a design flaw in the language.)</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:8.5pt;font-family:Regular'>(Ignore the fact that Java grants package access to protected<o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:8.5pt;font-family:Regular'>fields</span><span style='font-size:8.5pt;font-family:Symbol'><i>⎯</i></span><span style='font-size:8.5pt;font-family:Regular'>that is really a design flaw in the language.)</span><span style='font-size:10.0pt;font-family:Regular'><o:p></o:p></span></p> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><![if !supportEmptyParas]> <![endif]><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr> <tr> <td width=50 style='width:.7in;border:solid gray 1.0pt;border-top:none; mso-border-top-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;tab-stops:28.0pt 56.0pt 84.0pt 112.0pt 140.0pt 168.0pt 196.0pt 224.0pt 3.5in 280.0pt 308.0pt 336.0pt; mso-layout-grid-align:none;text-autospace:none'><span style='font-family: Verdana;color:#333333'>xiv<o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The real academics usually donÕt like my work because itÕs not sufficient formal and relies too heavily on code rather than mathematics.)</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> <td width=257 style='width:256.5pt;border-top:none;border-left:none; border-bottom:solid gray 1.0pt;border-right:solid gray 1.0pt;mso-border-top-alt: solid gray 1.0pt;mso-border-left-alt:solid gray 1.0pt;padding:0in 5.4pt 0in 5.4pt'> <p class=MsoNormal style='mso-pagination:none;mso-layout-grid-align:none; text-autospace:none'><span style='font-size:9.0pt;font-family:Utopia-Regular'>The real academics usually donÕt like my work because itÕs not sufficiently formal and relies too heavily on code rather than mathematics.)</span><span style='font-family:Verdana;color:#333333'><o:p></o:p></span></p> </td> </tr></table><p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p></div></body></html>