You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@velocity.apache.org by "Will Glass-Husain (JIRA)" <ji...@apache.org> on 2005/09/18 21:34:54 UTC
[jira] Updated: (VELOCITY-132) IllegalArgumentException while calling an overloaded method
[ http://issues.apache.org/jira/browse/VELOCITY-132?page=all ]
Will Glass-Husain updated VELOCITY-132:
---------------------------------------
Bugzilla Id: (was: 16707)
Fix Version: 1.5
(was: 1.4)
Description:
If there are two methods with the same name and different parameters like:
public class myClass
{
public String foo ( Integer intObj );
public String foo ( String str );
}
and a velocity template like this
$myObj.foo( $someObj.getNull() )
$myObj.foo( $str )
while $someObj.getNull() returns null and $str is a java.lang.String object
with a String like 'test'. Because velocity caches the first method with the
Integer argument on calling with the parameter null (which isn't of course of
any type/class) the call fails with the String argument, because velocity tries
to call the foo( Integer intObj )!
In the velocity log appears a IllegalArgumentException which is right, but
velocity should call the right method!
mike
was:
If there are two methods with the same name and different parameters like:
public class myClass
{
public String foo ( Integer intObj );
public String foo ( String str );
}
and a velocity template like this
$myObj.foo( $someObj.getNull() )
$myObj.foo( $str )
while $someObj.getNull() returns null and $str is a java.lang.String object
with a String like 'test'. Because velocity caches the first method with the
Integer argument on calling with the parameter null (which isn't of course of
any type/class) the call fails with the String argument, because velocity tries
to call the foo( Integer intObj )!
In the velocity log appears a IllegalArgumentException which is right, but
velocity should call the right method!
mike
Environment:
Operating System: All
Platform: All
was:
Operating System: All
Platform: All
Assign To: (was: Velocity-Dev List)
> IllegalArgumentException while calling an overloaded method
> -----------------------------------------------------------
>
> Key: VELOCITY-132
> URL: http://issues.apache.org/jira/browse/VELOCITY-132
> Project: Velocity
> Type: Bug
> Components: Source
> Versions: 1.3-rc1
> Environment: Operating System: All
> Platform: All
> Reporter: MySign
> Priority: Blocker
> Fix For: 1.5
>
> If there are two methods with the same name and different parameters like:
> public class myClass
> {
> public String foo ( Integer intObj );
> public String foo ( String str );
> }
> and a velocity template like this
> $myObj.foo( $someObj.getNull() )
> $myObj.foo( $str )
> while $someObj.getNull() returns null and $str is a java.lang.String object
> with a String like 'test'. Because velocity caches the first method with the
> Integer argument on calling with the parameter null (which isn't of course of
> any type/class) the call fails with the String argument, because velocity tries
> to call the foo( Integer intObj )!
> In the velocity log appears a IllegalArgumentException which is right, but
> velocity should call the right method!
> mike
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: velocity-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: velocity-dev-help@jakarta.apache.org