Re: XMLBeans 2.0 - Problem with derived/extended schema elements

Jacob Danner <[email protected]>
Newsgroups gmane.text.xml.xmlbeans.user
Message-ID <[email protected]>
This sounds like a Java problem more than an XMLBeans problem. From
the sounds of it you are trying to cast up. In other words you
AddressType -> Cannot be cast to -> EmployeeAddress
But you were expecting something like this.
EmployeeAddress -> Can be cast to -> AddressType

Rather than use constructors from EmployeeAddressImpl, why not use the
EmployeeAddress.Factory.parse(...)/newInstance(...)
based on how you are writing/starting your instance.

-jacobd

On Fri, Mar 12, 2010 at 12:18 PM, Sri Harsha Yenuganti
<[email protected]> wrote:
> Hi ,
> Here is the problem.
>
> I have the following interfaces ( These interfaces are generated by XMLBeans
> ) :
> ________________________________
> Interface AddressType {
> .......
> }
>
> Interface EmployeeAddress extends AddressType {
> ..........
> }
>
>
>
> I have the following implementation classes ( These classes are generated by
> XMLBeans ):
> ________________________________
> Class AddressTypeImpl implements AddressType {
> ........................
> }
>
> Class EmployeeAddressImpl extends AddressTypeImpl implements
> EmployeeAddress{
> ..............................
> }
>
>
> Here is some class that uses these( This class is generated by XMLBeans ) :
> ________________________________
> class MyClass {
>
> public AddressType someFunc(){
> .............
>
> return employeeAddress;
> }
>
> }
>
>
> In some other class i have this code ( This is written by me ) :
> ________________________________
> EmployeeAddress ea;
>
> EmployeeAddress ea = (EmployeeAddress) myClass.someFunc();
>
>
> someFunc() returns an object of type AddressType. I am trying to cast it to
> EmployeeAddress.
>
> This is throwing me a class cast exception.
> " Cannot convert from AddressTypeImpl to EmployeeAddress type "
>
> As AddressType is an interface, we are getting an object of AddressTypeImpl,
> not AddressType. These interfaces and classes are generated by XMLBeans. So
> I cant instantiate "EmployeeAddressImpl" which takes several XMLBeans custom
> parameters in its constructor.
>
> --
> Sri Harsha Yenuganti
> [email protected]
>
> "  IF YOU ARE NOT BRAVE ENOUGH TO FACE A FAILURE YOU ARE UNFIT TO
> SUCCEED.AIM HIGH BUT BE PREPARED FOR THE WORST. "
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.