[ 
https://issues.apache.org/jira/browse/AXIS2-4448?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Detelin Yordanov updated AXIS2-4448:
------------------------------------

    Attachment: DefaultObjectSupplier.diff

A patch that fixes the problem for the simple case when the nested class is 
declared static. The case when the nested class is not declared as static, but 
is declared in a static context (e.g. a static block or as a local nested class 
in a static method) is not very likely to happen, since Axis2 will not normally 
process such static declarations.
The patch is against Axis2 1.5 branch.

> DefaultObjectSupplier fails to instantiate static nested classes
> ----------------------------------------------------------------
>
>                 Key: AXIS2-4448
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4448
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: kernel
>    Affects Versions: 1.5
>            Reporter: Detelin Yordanov
>         Attachments: DefaultObjectSupplier.diff, stacktrace.txt, 
> StaticInnerClassService.aar
>
>
> The current DefaultObjectSupplier implementation cannot instantiate static 
> nested classes. The problem is that it assumes that if the class to 
> instantiate has a declaring class, it is an inner class. However, according 
> to the Java language specification, an inner class is a nested class, which 
> is not declared in a static context. Thus, in case the nested class is 
> declared static, it is not required to create the parent enclosing instance 
> (and it is not even possible, because the inner class does not have an 
> implicit constructor with a parent instance first parameter) 
> See http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to