Okay, implemented now two variables: ojbUseInterface and
ojbUseProxyInterface. Furthermore the new naming convention is similar to
the one of the OM. Hope this helps. I did some small changes, so that
BigDecimal is now also imported and a double value gets assigned to "0" and
not to null. In my environment the whole stuff is now compiling :-)
At 22:39 28.09.2002 -0500, you wrote:
>I agree that using interfaces is good design, but that doesn't mean
>everyone will want to use it. How about two flags: ojbUseInteface and
>ojbUseProxyInterface?
>
>- Stephen
>
> > -----Original Message-----
> > From: Markus M. May [mailto:[EMAIL PROTECTED]]
> > Sent: Saturday, September 28, 2002 10:16 AM
> > To: Turbine Torque Developers List
> > Subject: RE: [patch] ojb templates
> >
> > Well, I did the Interface Stuff, because I think it is a good design
> > approach. Under OJB you can load all objects implementing one
>interface,
> > and therefor we need this stuff for a project.
>
>
>
>--
>To unsubscribe,
>e-mail: <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail:
><mailto:[EMAIL PROTECTED]>
---+++--------------------+++---------------------+++---
Markus M. May
[EMAIL PROTECTED]
Provide you with free J2EE projects
Please use my public key at:
http://www.javafreedom.org/mmay_javafreedom_org.key
---+++--------------------+++---------------------+++---
#set ($db = $table.Database)
#if ($db.Package)
#set ($package = $db.Package)
#else
#set ($package = $targetPackage)
#end
package ${package};
import java.io.Serializable;
import java.util.Date;
/**
#if ($addTimeStamp)
* This interface was autogenerated by Torque on:
*
* [$now]
*
#end
* You should not use this proxy interface directly. It should
* not even be extended all references should be to
* ${table.JavaName}ProxyInterface
*/
public interface ${basePrefix}${table.JavaName}ProxyInterface extends Serializable
{
#foreach ($col in $table.PrimaryKey)
#set ( $cfc=$col.JavaName )
#set ( $cfc=$cfc.replaceFirst(".", $cfc.substring(0,1).toUpperCase()) )
#set ( $clo=$col.Name.toLowerCase() )
#set ( $cjtype = $col.JavaPrimitive )
/**
* Get the $cfc
* @return $cjtype
*/
public $cjtype get${cfc}();
#end
}
#set ($interface = "")
#if ($table.Interface)
#set ($interface = ", $table.Interface")
#end
#set ($db = $table.Database)
#if ($db.Package)
#set ($package = $db.Package)
#else
#set ($package = $targetPackage)
#end
package $package;
#if ($table.isAbstract())
#set ($abstract = "abstract")
#end
import org.apache.torque.om.Persistent;
/**
#if ($addTimeStamp)
* The skeleton for this class was autogenerated by Torque on:
*
* [$now]
*
#end
* You should add additional methods to this class to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*/
public $!abstract class $table.JavaName
extends $basePrefix$table.JavaName
implements ${table.JavaName}Interface
{
}
#set ($interface = "")
#if ($table.Interface)
#set ($interface = ", $table.Interface")
#end
#set ($db = $table.Database)
#if ($db.Package)
#set ($package = $db.Package)
#else
#set ($package = $targetPackage)
#end
package $package;
/**
#if ($addTimeStamp)
* The skeleton for this interface was autogenerated by Torque on:
*
* [$now]
*
#end
* You should add additional methods to this interface to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*/
public interface ${table.JavaName}ProxyInterface
extends ${basePrefix}${table.JavaName}ProxyInterface
{
}
Index: Control.vm
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-torque/src/templates/ojb/model/Control.vm,v
retrieving revision 1.1
diff -u -r1.1 Control.vm
--- Control.vm 11 Apr 2002 17:10:40 -0000 1.1
+++ Control.vm 29 Sep 2002 11:18:31 -0000
@@ -1,4 +1,4 @@
-#set ( $basepath = $generator.OutputPath)
+#set ( $basePath = ${generator.OutputPath} )
#foreach ($dataModel in $dataModels)
#foreach ($database in $dataModel.Databases)
@@ -15,10 +15,42 @@
#foreach ($tbl in $database.Tables)
$tbl.Name
#set ( $firstcap=$tbl.JavaName )
+
#set ( $fname = "${firstcap}.java" )
#set ( $path = "${strings.getPackageAsPath($package)}$fname" )
+
+ #if (!$files.file($basePath,$path).exists())
+ $generator.parse("ojb/model/ExtensionObject.vm",$path,"table",$tbl)
+ #end
+
+ #set ( $fname = "${basePrefix}${firstcap}.java" )
+ #set ( $path = "${strings.getPackageAsPath($package)}$fname" )
$generator.parse("ojb/model/Object.vm",$path,"table",$tbl)
+
+ #set ( $fname = "${firstcap}Interface.java" )
+ #set ( $path = "${strings.getPackageAsPath($package)}$fname" )
+ #if (!$files.file($basePath,$path).exists())
+ $generator.parse("ojb/model/ExtensionInterface.vm",$path,"table",$tbl)
+ #end
+
+ #set ( $fname = "${basePrefix}${firstcap}Interface.java" )
+ #set ( $path = "${strings.getPackageAsPath($package)}$fname" )
+ $generator.parse("ojb/model/Interface.vm",$path,"table",$tbl)
+
+ #if ( $ojbUseProxy == true )
+
+ #set ( $fname = "${firstcap}ProxyInterface.java" )
+ #set ( $path = "${strings.getPackageAsPath($package)}$fname" )
+ #if (!$files.file($basePath,$path).exists())
+ $generator.parse("ojb/model/ExtensionProxyInterface.vm",$path,"table",$tbl)
+ #end
+
+ #set ( $fname = "${basePrefix}${firstcap}ProxyInterface.java" )
+ #set ( $path = "${strings.getPackageAsPath($package)}$fname" )
+ $generator.parse("ojb/model/ProxyInterface.vm",$path,"table",$tbl)
+
+ #end
#end
#end
-#end
+#end
\ No newline at end of file
Index: Object.vm
===================================================================
RCS file: /home/cvspublic/jakarta-turbine-torque/src/templates/ojb/model/Object.vm,v
retrieving revision 1.7
diff -u -r1.7 Object.vm
--- Object.vm 27 Sep 2002 22:03:39 -0000 1.7
+++ Object.vm 29 Sep 2002 11:18:31 -0000
@@ -7,20 +7,29 @@
package ${package};
#if ($table.BaseClass)
- #set ($extendsBaseClass = "extends $table.BaseClass" )
+ ##set ($extendsBaseClass = "extends $table.BaseClass" )
+ #set ($extendsBaseClass = "" )
#else
#set ($extendsBaseClass = "" )
#end
#if ($table.Interface)
- #set ($interface = "Serializable, $table.Interface" )
+ #if ($ojbUseInterface == true)
+ #set ($interface = "Serializable, ${basePrefix}${table.JavaName}Interface,
+$table.Interface" )
+ #else
+ #set ($interface = "Serializable, $table.Interface" )
+ #end
#else
- #set ($interface = "Serializable" )
+ #if ($ojbUseInterface == true)
+ #set ($interface = "Serializable, ${basePrefix}${table.JavaName}Interface" )
+ #else
+ #set ($interface = "Serializable" )
+ #end
#end
import java.io.Serializable;
import java.util.Date;
-
+import java.math.BigDecimal;
/**
#if ($addTimeStamp)
@@ -29,8 +38,10 @@
* [$now]
*
#end
+ * You should not use this class directly. It should not even be
+ * extended all references should be to $table.JavaName
*/
-public class $table.JavaName $extendsBaseClass
+public class ${basePrefix}${table.JavaName} $extendsBaseClass
implements $interface
{
@@ -40,10 +51,10 @@
#set ( $defaultValue = "null" )
#if ( $cjtype == "boolean")
#set ( $defaultValue = "false" )
- #elseif ($cjtype == "int" || $cjtype == "short" || $cjtype == "long" || $cjtype
== "float" || $cjtype == "double")
+ #elseif ($cjtype == "int" || $cjtype == "double")
#set ( $defaultValue = "0" )
#end
- protected $cjtype $clo = $defaultValue;
+ private $cjtype $clo = $defaultValue;
#end
#foreach ($col in $table.Columns)
#set ($db = $table.Database)
#if ($db.Package)
#set ($package = $db.Package)
#else
#set ($package = $targetPackage)
#end
package ${package};
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
/**
#if ($addTimeStamp)
* This interface was autogenerated by Torque on:
*
* [$now]
*
#end
* You should not use this interface directly. It should not even be
* extended all references should be to ${table.JavaName}Interface
*/
public interface ${basePrefix}${table.JavaName}Interface extends Serializable
{
#foreach ($col in $table.Columns)
#set ( $cfc=$col.JavaName )
#set ( $cfc=$cfc.replaceFirst(".", $cfc.substring(0,1).toUpperCase()) )
#set ( $clo=$col.Name.toLowerCase() )
#set ( $cjtype = $col.JavaPrimitive )
/**
* Get the $cfc
* @return $cjtype
*/
public $cjtype get${cfc}();
/**
* Set the value of $cfc
*/
public void set${cfc}($cjtype v );
#end
}
#set ($interface = "")
#if ($table.Interface)
#set ($interface = ", $table.Interface")
#end
#set ($db = $table.Database)
#if ($db.Package)
#set ($package = $db.Package)
#else
#set ($package = $targetPackage)
#end
package $package;
#if ($table.isAbstract())
#set ($abstract = "abstract")
#end
/**
#if ($addTimeStamp)
* The skeleton for this interface was autogenerated by Torque on:
*
* [$now]
*
#end
* You should add additional methods to this interface to meet the
* application requirements. This class will only be generated as
* long as it does not already exist in the output directory.
*/
public interface ${table.JavaName}Interface
extends ${basePrefix}${table.JavaName}Interface
{
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>