Author: hlship
Date: Sun Feb 11 10:26:08 2007
New Revision: 506084

URL: http://svn.apache.org/viewvc?view=rev&rev=506084
Log:
Add improved documentation about TypeCoercer

Added:
    tapestry/tapestry5/tapestry-ioc/trunk/src/images/
    tapestry/tapestry5/tapestry-ioc/trunk/src/images/type-coercer.graffle
    tapestry/tapestry5/tapestry-ioc/trunk/src/site/apt/coerce.apt
    
tapestry/tapestry5/tapestry-ioc/trunk/src/site/resources/images/type-coercer.png
   (with props)
Modified:
    tapestry/tapestry5/tapestry-ioc/trunk/src/site/site.xml

Added: tapestry/tapestry5/tapestry-ioc/trunk/src/images/type-coercer.graffle
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/images/type-coercer.graffle?view=auto&rev=506084
==============================================================================
--- tapestry/tapestry5/tapestry-ioc/trunk/src/images/type-coercer.graffle 
(added)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/images/type-coercer.graffle Sun 
Feb 11 10:26:08 2007
@@ -0,0 +1,1221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
+<plist version="1.0">
+<dict>
+       <key>ActiveLayerIndex</key>
+       <integer>0</integer>
+       <key>AutoAdjust</key>
+       <true/>
+       <key>CanvasColor</key>
+       <dict>
+               <key>w</key>
+               <string>1</string>
+       </dict>
+       <key>CanvasOrigin</key>
+       <string>{0, 0}</string>
+       <key>CanvasScale</key>
+       <real>1</real>
+       <key>ColumnAlign</key>
+       <integer>1</integer>
+       <key>ColumnSpacing</key>
+       <real>36</real>
+       <key>CreationDate</key>
+       <string>2007-02-11 09:26:40 -0800</string>
+       <key>Creator</key>
+       <string>Howard Lewis Ship</string>
+       <key>DisplayScale</key>
+       <string>1 in = 1 in</string>
+       <key>GraphDocumentVersion</key>
+       <integer>5</integer>
+       <key>GraphicsList</key>
+       <array>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>51</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{341, 426.5}</string>
+                               <string>{341, 385.5}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>50</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{307, 427}, {68, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>50</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Number}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>ID</key>
+                       <integer>49</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{191.862, 557.5}</string>
+                               <string>{191.5, 508.8}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>48</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{161.5, 558}, {61, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>48</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Object}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>42</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>47</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{313.545, 368.916}</string>
+                               <string>{226.411, 374.998}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{158, 359.4}, {68, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>42</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Boolean}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{446, 333.5}, {61, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>FontInfo</key>
+                       <dict>
+                               <key>Color</key>
+                               <dict>
+                                       <key>w</key>
+                                       <string>0</string>
+                               </dict>
+                               <key>Font</key>
+                               <string>Helvetica</string>
+                               <key>NSKern</key>
+                               <real>0.0</real>
+                               <key>Size</key>
+                               <real>12</real>
+                       </dict>
+                       <key>ID</key>
+                       <integer>40</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                                       <key>GradientColor</key>
+                                       <dict>
+                                               <key>w</key>
+                                               <string>0.666667</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 \expnd0\expndtw0\kerning0
+Float}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{217, 259}, {61, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>37</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Integer}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{449.5, 259}, {54, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>35</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Short}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{312.5, 259}, {54, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>33</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Byte}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{314, 349}, {54, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>30</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 Long}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{43, 259}, {90, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>FontInfo</key>
+                       <dict>
+                               <key>Color</key>
+                               <dict>
+                                       <key>b</key>
+                                       <string>0</string>
+                                       <key>g</key>
+                                       <string>0</string>
+                                       <key>r</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>ID</key>
+                       <integer>28</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BigInteger}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{165, 472.8}, {54, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>ID</key>
+                       <integer>4</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 String}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{296, 525}, {90, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>FontInfo</key>
+                       <dict>
+                               <key>Color</key>
+                               <dict>
+                                       <key>b</key>
+                                       <string>0</string>
+                                       <key>g</key>
+                                       <string>0</string>
+                                       <key>r</key>
+                                       <string>0</string>
+                               </dict>
+                       </dict>
+                       <key>ID</key>
+                       <integer>25</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 BigDecimal}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Bounds</key>
+                       <string>{{442.5, 472.8}, {61, 36}}</string>
+                       <key>Class</key>
+                       <string>ShapedGraphic</string>
+                       <key>FontInfo</key>
+                       <dict>
+                               <key>Color</key>
+                               <dict>
+                                       <key>w</key>
+                                       <string>0</string>
+                               </dict>
+                               <key>Font</key>
+                               <string>Helvetica</string>
+                               <key>NSKern</key>
+                               <real>0.0</real>
+                               <key>Size</key>
+                               <real>12</real>
+                       </dict>
+                       <key>ID</key>
+                       <integer>5</integer>
+                       <key>Shape</key>
+                       <string>RoundRect</string>
+                       <key>Style</key>
+                       <dict>
+                               <key>fill</key>
+                               <dict>
+                                       <key>Color</key>
+                                       <dict>
+                                               <key>b</key>
+                                               <string>0.0941176</string>
+                                               <key>g</key>
+                                               <string>0.917647</string>
+                                               <key>r</key>
+                                               <string>1</string>
+                                       </dict>
+                                       <key>GradientColor</key>
+                                       <dict>
+                                               <key>w</key>
+                                               <string>0.666667</string>
+                                       </dict>
+                               </dict>
+                       </dict>
+                       <key>Text</key>
+                       <dict>
+                               <key>Text</key>
+                               
<string>{\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf420
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural
+
+\f0\fs24 \cf0 \expnd0\expndtw0\kerning0
+Double}</string>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>42</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>43</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{192, 472.3}</string>
+                               <string>{192, 395.9}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>4</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>40</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>41</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{473.465, 472.3}</string>
+                               <string>{476.035, 370}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>5</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>39</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{453.443, 472.458}</string>
+                               <string>{360.546, 385.331}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>5</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>37</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>38</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{321.94, 348.653}</string>
+                               <string>{266.56, 295.347}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>35</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>36</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{364.541, 351.364}</string>
+                               <string>{452.96, 292.636}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>33</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>34</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{340.692, 348.5}</string>
+                               <string>{339.808, 295.5}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>32</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{213.342, 473.067}</string>
+                               <string>{319.658, 384.733}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>4</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>30</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>31</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{128.297, 291.335}</string>
+                               <string>{314.667, 357.632}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>28</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>28</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>29</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{183.025, 472.35}</string>
+                               <string>{96.9745, 295.45}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>4</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>5</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>27</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{386.196, 539.154}</string>
+                               <string>{435, 535}</string>
+                               <string>{457.199, 509.179}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>25</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>25</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>26</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{218.368, 500.038}</string>
+                               <string>{300.55, 528.829}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>4</integer>
+                       </dict>
+               </dict>
+               <dict>
+                       <key>Class</key>
+                       <string>LineGraphic</string>
+                       <key>Head</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>5</integer>
+                       </dict>
+                       <key>ID</key>
+                       <integer>24</integer>
+                       <key>Points</key>
+                       <array>
+                               <string>{219.5, 490.827}</string>
+                               <string>{393, 491}</string>
+                               <string>{442, 490.878}</string>
+                       </array>
+                       <key>Style</key>
+                       <dict>
+                               <key>stroke</key>
+                               <dict>
+                                       <key>HeadArrow</key>
+                                       <string>FilledArrow</string>
+                                       <key>LineType</key>
+                                       <integer>1</integer>
+                                       <key>TailArrow</key>
+                                       <string>0</string>
+                                       <key>Width</key>
+                                       <real>4</real>
+                               </dict>
+                       </dict>
+                       <key>Tail</key>
+                       <dict>
+                               <key>ID</key>
+                               <integer>4</integer>
+                       </dict>
+               </dict>
+       </array>
+       <key>GridInfo</key>
+       <dict/>
+       <key>GuidesLocked</key>
+       <string>NO</string>
+       <key>GuidesVisible</key>
+       <string>YES</string>
+       <key>HPages</key>
+       <integer>1</integer>
+       <key>ImageCounter</key>
+       <integer>1</integer>
+       <key>IsPalette</key>
+       <string>NO</string>
+       <key>KeepToScale</key>
+       <false/>
+       <key>Layers</key>
+       <array>
+               <dict>
+                       <key>Lock</key>
+                       <string>NO</string>
+                       <key>Name</key>
+                       <string>Layer 1</string>
+                       <key>Print</key>
+                       <string>YES</string>
+                       <key>View</key>
+                       <string>YES</string>
+               </dict>
+       </array>
+       <key>LayoutInfo</key>
+       <dict/>
+       <key>LinksVisible</key>
+       <string>NO</string>
+       <key>MagnetsVisible</key>
+       <string>NO</string>
+       <key>MasterSheet</key>
+       <string>Master 1</string>
+       <key>MasterSheets</key>
+       <array>
+               <dict>
+                       <key>ActiveLayerIndex</key>
+                       <integer>0</integer>
+                       <key>AutoAdjust</key>
+                       <true/>
+                       <key>CanvasColor</key>
+                       <dict>
+                               <key>w</key>
+                               <string>1</string>
+                       </dict>
+                       <key>CanvasOrigin</key>
+                       <string>{0, 0}</string>
+                       <key>CanvasScale</key>
+                       <real>1</real>
+                       <key>ColumnAlign</key>
+                       <integer>1</integer>
+                       <key>ColumnSpacing</key>
+                       <real>36</real>
+                       <key>DisplayScale</key>
+                       <string>1 in = 1 in</string>
+                       <key>GraphicsList</key>
+                       <array/>
+                       <key>GridInfo</key>
+                       <dict/>
+                       <key>HPages</key>
+                       <integer>1</integer>
+                       <key>IsPalette</key>
+                       <string>NO</string>
+                       <key>KeepToScale</key>
+                       <false/>
+                       <key>Layers</key>
+                       <array>
+                               <dict>
+                                       <key>Lock</key>
+                                       <string>NO</string>
+                                       <key>Name</key>
+                                       <string>Layer 1</string>
+                                       <key>Print</key>
+                                       <string>YES</string>
+                                       <key>View</key>
+                                       <string>YES</string>
+                               </dict>
+                       </array>
+                       <key>LayoutInfo</key>
+                       <dict/>
+                       <key>Orientation</key>
+                       <integer>2</integer>
+                       <key>OutlineStyle</key>
+                       <string>Basic</string>
+                       <key>RowAlign</key>
+                       <integer>1</integer>
+                       <key>RowSpacing</key>
+                       <real>36</real>
+                       <key>SheetTitle</key>
+                       <string>Master 1</string>
+                       <key>UniqueID</key>
+                       <integer>1</integer>
+                       <key>VPages</key>
+                       <integer>1</integer>
+               </dict>
+       </array>
+       <key>ModificationDate</key>
+       <string>2007-02-11 10:11:41 -0800</string>
+       <key>Modifier</key>
+       <string>Howard Lewis Ship</string>
+       <key>NotesVisible</key>
+       <string>NO</string>
+       <key>Orientation</key>
+       <integer>2</integer>
+       <key>OriginVisible</key>
+       <string>NO</string>
+       <key>OutlineStyle</key>
+       <string>Basic</string>
+       <key>PageBreaks</key>
+       <string>YES</string>
+       <key>PrintInfo</key>
+       <dict>
+               <key>NSBottomMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>0</string>
+               </array>
+               <key>NSLeftMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>0</string>
+               </array>
+               <key>NSPaperSize</key>
+               <array>
+                       <string>size</string>
+                       <string>{612, 792}</string>
+               </array>
+               <key>NSRightMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>0</string>
+               </array>
+               <key>NSTopMargin</key>
+               <array>
+                       <string>float</string>
+                       <string>0</string>
+               </array>
+       </dict>
+       <key>ReadOnly</key>
+       <string>NO</string>
+       <key>RowAlign</key>
+       <integer>1</integer>
+       <key>RowSpacing</key>
+       <real>36</real>
+       <key>SheetTitle</key>
+       <string>Canvas 1</string>
+       <key>SmartAlignmentGuidesActive</key>
+       <string>YES</string>
+       <key>SmartDistanceGuidesActive</key>
+       <string>YES</string>
+       <key>UniqueID</key>
+       <integer>1</integer>
+       <key>UseEntirePage</key>
+       <true/>
+       <key>VPages</key>
+       <integer>1</integer>
+       <key>WindowInfo</key>
+       <dict>
+               <key>CurrentSheet</key>
+               <string>0</string>
+               <key>DrawerOpen</key>
+               <true/>
+               <key>DrawerTab</key>
+               <string>Outline</string>
+               <key>DrawerWidth</key>
+               <real>209</real>
+               <key>FitInWindow</key>
+               <false/>
+               <key>Frame</key>
+               <string>{{512, 388}, {594, 870}}</string>
+               <key>ShowRuler</key>
+               <false/>
+               <key>ShowStatusBar</key>
+               <true/>
+               <key>VisibleRegion</key>
+               <string>{{0, 0}, {579, 756}}</string>
+               <key>Zoom</key>
+               <string>1</string>
+       </dict>
+</dict>
+</plist>

Added: tapestry/tapestry5/tapestry-ioc/trunk/src/site/apt/coerce.apt
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/site/apt/coerce.apt?view=auto&rev=506084
==============================================================================
--- tapestry/tapestry5/tapestry-ioc/trunk/src/site/apt/coerce.apt (added)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/site/apt/coerce.apt Sun Feb 11 
10:26:08 2007
@@ -0,0 +1,61 @@
+ ----
+ Type Coercion
+ ----
+ 
+Type Coercion
+
+  Tapestry frequently must coerce objects from one type to another. By 
coercion, we mean to convert an object of some type into a new object
+  of a different type with similar content: a common example is coercing a 
string into an integer or a double.
+  
+  Although these types of coercions happens more inside
+  tapestry-core (inlcuding coercions of 
{{{http://tapestry.apache.org/tapestry5/tapestry-core/guide/coercion.html}parameters}}),
 this
+  may also happen inside tapestry-ioc, such as when injecting a value, rather 
than a service, into a builder method.
+  
+  Like everything else in Tapestry, type coercions are extensible.  At the 
root is the
+  
{{{apidocs/org/apache/tapestry/ioc/services/TypeCoercer.html}tapestry.ioc.TypeCoercer}}
 service. Its configuration consists
+  of a number of 
+  
{{{apidocs/org/apache/tapestry/ioc/services/CoercionTuple.html}CoercionTuple}}s.
  Each tuple defines how to coerce from one type to another.
+  
+  There's a large number of built-in coercions, the most common are shown in 
the following diagram:
+  
+[images/type-coercer.png] Basic Type Coercions  
+
+  This diagram omits a number of coercions related to nulls and collection 
types.
+  
+  Tapestry can <interpolate> necessary coercions.  For example, say it is 
necessary to coerce a StringBuffer to an Integer; the
+  TypeCoercer will chain together a series of coercions:
+  
+   * Object --\> String
+   
+   * String --> Long
+   
+   * Long --> Integer
+   
+   []
+   
+Contributing new Coercions
+
+  TypeCoercer is extensible, you may add new coercions as desired.  For 
example, let's say you have a Money type that represents
+  an amount of some currency, and you want to be able to convert between 
BigDecimal and Money.  Further, let's assume that
+  Money has a constructor that accepts a BigDecimal as its parameter.  We'll 
use a little Tapestry IOC configuration jujitsu to
+  inform the TypeCoercer about this coercion.
+  
++---+    
+   @Contribute("tapestry.ioc.TypeCoercer")
+   public void contributeMoneyCoercion(Configuration<CoercionTuple> 
configuration)
+   {
+     Coercion<BigDecimal, Money> coercion = new Coercion<BigDecimal, Money>()
+     {
+       public Money coerce(BigDecimal input)
+       {
+         return new Money(input);
+       }
+     };
+     
+     configuration.add(new CoercionTuple<BigDecimal, Money>(BigDecimal.class, 
Money.class, coercion));     
+   }
++---+  
+
+  Further, since TypeCoercer knows how to convert Double to BigDecimal, or 
even Integer (to Long to Double) to BigDecimal, all of those coercions would
+  work as well.
+  
\ No newline at end of file

Added: 
tapestry/tapestry5/tapestry-ioc/trunk/src/site/resources/images/type-coercer.png
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/site/resources/images/type-coercer.png?view=auto&rev=506084
==============================================================================
Binary file - no diff available.

Propchange: 
tapestry/tapestry5/tapestry-ioc/trunk/src/site/resources/images/type-coercer.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: tapestry/tapestry5/tapestry-ioc/trunk/src/site/site.xml
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-ioc/trunk/src/site/site.xml?view=diff&rev=506084&r1=506083&r2=506084
==============================================================================
--- tapestry/tapestry5/tapestry-ioc/trunk/src/site/site.xml (original)
+++ tapestry/tapestry5/tapestry-ioc/trunk/src/site/site.xml Sun Feb 11 10:26:08 
2007
@@ -54,6 +54,7 @@
             <item name="Services" href="service.html"/>
             <item name="Decorators" href="decorator.html"/>
             <item name="Configuration" href="configuration.html"/>
+            <item name="Type Coercion" href="coerce.html"/>
             <item name="Case Insensitivity" href="case.html"/>
             <item name="Symbols" href="symbols.html"/>
             <item name="Starting the Registry" href="run.html"/>


Reply via email to