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

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

    Description: 
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

  was:
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.

See http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3


> 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
>
> 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