aboutsummaryrefslogtreecommitdiff
path: root/velocity-engine-core/src/test/resources/conversion/matrix.vhtml
blob: ee7ae5b7aa13bc4914e4ff04ed0db1dda57b2d69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<!doctype html>

#macro(print,$type)
  #set($string = "$type")
  #if($string.startsWith("class java.lang.") || $string.startsWith("class java.math."))
    #set($string = $string.substring(16))
  #end
$string##
#end

#macro(cell,$type)<span class="$type">$type</span>#end

#macro(check,$row,$col)
  #if($introspect.isStrictlyConvertible($row, $col)) #cell('strict')
  #elseif($introspect.isImplicitlyConvertible($row, $col))  #cell('implicit')
  #elseif($introspect.isExplicitlyConvertible($row, $col)) #cell('explicit')
  #else #cell('none')
  #end
#end

<html>
  <head>
    <style type="text/css">
    table
    {
        border: solid 1px black;
        border-collapse: collapse;
    }
	td, th
    {
        border: solid 1px black;
    }
    .strict
    {
        color: green;
    }
    .implicit
    {
        color: blue;
    }
    .explicit
    {
        color: magenta;
    }
    .none
    {
        color: red;
    }

    </style>
  </head>
  <body>
    <table>
      <thead>
        <tr>
          <th>
            provided &rarr;<br/>
            expected &darr;
          </th>
#foreach($col in $types)
          <th>#print($col)</th>
#end
          <th>null</th>
        </tr>
#foreach($row in $types)          
        <tr>
          <th>#print($row)</th>
  #foreach($col in $types)
          <td>#check($row,$col)</td>
  #end
  #if($row.isPrimitive())          
          <td>#cell('none')</td>
  #else
          <td>#check($row, $null)</td>
  #end
        </tr>
#end        
      </thead>
      <tbody>
      </tbody>
    </table>
  </body>
</html>