org.apache.cayenne.access.jdbc
Class ResultDirective
java.lang.Object
org.apache.velocity.runtime.directive.Directive
org.apache.cayenne.access.jdbc.ResultDirective
- All Implemented Interfaces:
- java.lang.Cloneable, org.apache.velocity.runtime.directive.DirectiveConstants
public class ResultDirective
- extends org.apache.velocity.runtime.directive.Directive
A custom Velocity directive to describe a ResultSet column.
There are the following possible invocation formats inside the template:
#result(column_name) - e.g. #result('ARTIST_ID')
#result(column_name java_type) - e.g. #result('ARTIST_ID' 'String')
#result(column_name java_type column_alias) - e.g. #result('ARTIST_ID' 'String' 'ID')
#result(column_name java_type column_alias data_row_key) - e.g. #result('ARTIST_ID' 'String' 'ID' 'toArtist.ID')
'data_row_key' is needed if SQL 'column_alias' is not appropriate as a DataRow key on the Cayenne
side. One common case when this happens is when a DataRow retrieved from a query is mapped
using joint prefetch keys. In this case DataRow must use DB_PATH expressions for joint column keys,
and their format is incompatible with most databases alias format.
Most common Java types used in JDBC can be specified without
a package. This includes all numeric types, primitives, String, SQL dates, BigDecimal
and BigInteger.
- Since:
- 1.1
- Author:
- Andrei Adamchik
Fields inherited from class org.apache.velocity.runtime.directive.Directive |
rsvc |
Fields inherited from interface org.apache.velocity.runtime.directive.DirectiveConstants |
BLOCK, LINE |
Method Summary |
protected void |
bindResult(org.apache.velocity.context.InternalContextAdapter context,
ColumnDescriptor columnDescriptor)
Adds value to the list of result columns in the context. |
protected java.lang.Object |
getChild(org.apache.velocity.context.InternalContextAdapter context,
org.apache.velocity.runtime.parser.node.Node node,
int i)
|
protected java.lang.String |
getChildAsString(org.apache.velocity.context.InternalContextAdapter context,
org.apache.velocity.runtime.parser.node.Node node,
int i)
Returns a directive argument at a given index converted to String. |
java.lang.String |
getName()
|
int |
getType()
|
protected java.lang.String |
guessType(java.lang.String type)
Converts "short" type notation to the fully qualified class name. |
boolean |
render(org.apache.velocity.context.InternalContextAdapter context,
java.io.Writer writer,
org.apache.velocity.runtime.parser.node.Node node)
|
Methods inherited from class org.apache.velocity.runtime.directive.Directive |
getColumn, getLine, init, setLocation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ResultDirective
public ResultDirective()
getName
public java.lang.String getName()
- Specified by:
getName
in class org.apache.velocity.runtime.directive.Directive
getType
public int getType()
- Specified by:
getType
in class org.apache.velocity.runtime.directive.Directive
render
public boolean render(org.apache.velocity.context.InternalContextAdapter context,
java.io.Writer writer,
org.apache.velocity.runtime.parser.node.Node node)
throws java.io.IOException,
org.apache.velocity.exception.ResourceNotFoundException,
org.apache.velocity.exception.ParseErrorException,
org.apache.velocity.exception.MethodInvocationException
- Specified by:
render
in class org.apache.velocity.runtime.directive.Directive
- Throws:
java.io.IOException
org.apache.velocity.exception.ResourceNotFoundException
org.apache.velocity.exception.ParseErrorException
org.apache.velocity.exception.MethodInvocationException
getChild
protected java.lang.Object getChild(org.apache.velocity.context.InternalContextAdapter context,
org.apache.velocity.runtime.parser.node.Node node,
int i)
throws org.apache.velocity.exception.MethodInvocationException
- Throws:
org.apache.velocity.exception.MethodInvocationException
getChildAsString
protected java.lang.String getChildAsString(org.apache.velocity.context.InternalContextAdapter context,
org.apache.velocity.runtime.parser.node.Node node,
int i)
throws org.apache.velocity.exception.MethodInvocationException
- Returns a directive argument at a given index converted to String.
- Throws:
org.apache.velocity.exception.MethodInvocationException
- Since:
- 1.2
guessType
protected java.lang.String guessType(java.lang.String type)
- Converts "short" type notation to the fully qualified class name.
Right now supports all major standard SQL types, including primitives.
All other types are expected to be fully qualified, and are not converted.
bindResult
protected void bindResult(org.apache.velocity.context.InternalContextAdapter context,
ColumnDescriptor columnDescriptor)
- Adds value to the list of result columns in the context.
Copyright © 2001-2006 Apache.org All Rights Reserved.