XFire
  1. XFire
  2. XFIRE-556

Aegis Polymophism does not support interfaces

    Details

    • Type: Improvement Improvement
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.2-RC
    • Fix Version/s: None
    • Component/s: Aegis Module
    • Labels:
      None
    • Number of attachments :
      0

      Description

      Using a class hierarchy such as:

      abstract class Base{}
      abstract class Class1 extends Base{}

      generates a correct schema (WSDL) hierarchy. If Base (or Base & Class1) are interfaces, the polymorphic hierarchy is dropped. It looks like the xsi:complexContent element is only being added for superclasses. If you wish to expose all services over interfaces, then polymorphism is not possible.

        Activity

        Hide
        Dan Diephouse added a comment -

        I started looking into this, but I don't see how xml schema could support multiple inheritance (which is what interfaces require). We could switch to substitution groups, but I don't see that happening in the near future. I'm unscheduling this for 1.2 for now.

        Show
        Dan Diephouse added a comment - I started looking into this, but I don't see how xml schema could support multiple inheritance (which is what interfaces require). We could switch to substitution groups, but I don't see that happening in the near future. I'm unscheduling this for 1.2 for now.
        Hide
        Jonathan Gilbert added a comment -

        Would it be possible to only support recognising the 1st interface or something? I believe that this would be the usage pattern (single inheritance) for 90% of applications (this is certainly all I would require). I think what is really needed is a way to get single inheritance (without exposing the implementation class) - currently this is impossible through abstract classes due to bug#558.

        Show
        Jonathan Gilbert added a comment - Would it be possible to only support recognising the 1st interface or something? I believe that this would be the usage pattern (single inheritance) for 90% of applications (this is certainly all I would require). I think what is really needed is a way to get single inheritance (without exposing the implementation class) - currently this is impossible through abstract classes due to bug#558.
        Hide
        Dan Diephouse added a comment -

        I'll look into XFIRE-558, I didn't see that bug before. While I'm investigating I'll see if single inheritance is possible to do with interfaces. I'll keep you posted.

        Show
        Dan Diephouse added a comment - I'll look into XFIRE-558 , I didn't see that bug before. While I'm investigating I'll see if single inheritance is possible to do with interfaces. I'll keep you posted.

          People

          • Assignee:
            Dan Diephouse
            Reporter:
            Jonathan Gilbert
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated: