org.apache.cayenne.access.jdbc
Class BindDirective
java.lang.Object
org.apache.velocity.runtime.directive.Directive
org.apache.cayenne.access.jdbc.BindDirective
- All Implemented Interfaces:
- java.lang.Cloneable, org.apache.velocity.runtime.directive.DirectiveConstants
- Direct Known Subclasses:
- BindEqualDirective, BindNotEqualDirective
public class BindDirective
- extends org.apache.velocity.runtime.directive.Directive
A custom Velocity directive to create a PreparedStatement parameter text.
There are the following possible invocation formats inside the template:
#bind(value) - e.g. #bind($xyz)
#bind(value jdbc_type_name) - e.g. #bind($xyz 'VARCHAR'). This is the most common and useful form.
#bind(value jdbc_type_name, precision) - e.g. #bind($xyz 'VARCHAR' 2)
Other examples:
Binding literal parameter value:
"WHERE SOME_COLUMN > #bind($xyz)"
produces
"WHERE SOME_COLUMN > ?"
and also places the value of the "xyz" parameter in the context "bindings" collection.
Binding ID column of a DataObject value:
"WHERE ID_COL1 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2'))
AND ID_COL2 = #bind($helper.cayenneExp($xyz, 'db:ID_COL2'))"
produces "WHERE ID_COL1 = ? AND ID_COL2 = ?"
and also places the values of id columns of the DataObject parameter "xyz" in the context
"bindings" collection.
- 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 |
bind(org.apache.velocity.context.InternalContextAdapter context,
ParameterBinding binding)
Adds value to the list of bindings in the context. |
protected java.lang.Object |
getChild(org.apache.velocity.context.InternalContextAdapter context,
org.apache.velocity.runtime.parser.node.Node node,
int i)
|
java.lang.String |
getName()
|
int |
getType()
|
boolean |
render(org.apache.velocity.context.InternalContextAdapter context,
java.io.Writer writer,
org.apache.velocity.runtime.parser.node.Node node)
Extracts the value of the object property to render and passes
control to render(InternalContextAdapter, Writer, ParameterBinding)
to do the actual rendering. |
protected void |
render(org.apache.velocity.context.InternalContextAdapter context,
java.io.Writer writer,
ParameterBinding binding)
|
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 |
BindDirective
public BindDirective()
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
- Extracts the value of the object property to render and passes
control to
render(InternalContextAdapter, Writer, ParameterBinding)
to do the actual rendering.
- 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
render
protected void render(org.apache.velocity.context.InternalContextAdapter context,
java.io.Writer writer,
ParameterBinding binding)
throws java.io.IOException
- Throws:
java.io.IOException
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
bind
protected void bind(org.apache.velocity.context.InternalContextAdapter context,
ParameterBinding binding)
- Adds value to the list of bindings in the context.
Copyright © 2001-2006 Apache.org All Rights Reserved.