Veogen Tips and Tricks

Last modified by chuckhill on 2008/03/03 19:31

Accessing Values

Simple expressions like ${relationship.actualDestination.classNameWithDefault} work as long as the methods use the is... or get... prefix from JavaBeans. For other methods, use () to indicate that it is a regular method name: ${attribute.name.toUpperCase()}.

Number vs Integer or Long

If you prefer your classes to be generated with Number instead of Integer or Long, add this macro to the start of your template:


#macro( genericClass $specificClass )
#if($specificClass == "Integer" || $specificClass == "Long")Number#else$specificClass#end
#end

And use it like this:


public #genericClass($attribute.javaClassName) ${attribute.name}() {
   return (#genericClass($attribute.javaClassName)) storedValueForKey("$attribute.name");
}

public void set${attribute.capitalizedName}(#genericClass($attribute.javaClassName) value)
{
   takeStoredValueForKey(value, "$attribute.name");
}