Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-4890

Support for service classes having a Java 5 parameterized type (class/multiple interfaces) as a super type.

    Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.3
    • Fix Version/s: nightly
    • Component/s: adb, kernel
    • Labels:
      None

      Description

      When a class implements an interface (or extends a class) which is a parameterized type, compiler creates a synthetic method which behaves as a bridge method in order to support sub classing. Axis2 detects this bridge method as an overloaded method and hence does not properly support service classes having parameterized super types. For example, axis2 does not support EchoClass below as a service class.

      public interface Echo<T> {
      public T echo(T value);
      }

      public class EchoClass implements Echo<String> {
      public String echo(String value)

      { return value; }

      }

        Attachments

        1. patch2.txt
          4 kB
          Sadeep Jayasumana
        2. patch.txt
          2 kB
          Sadeep Jayasumana

          Activity

            People

            • Assignee:
              senakafdo Senaka Fernando
              Reporter:
              sadeep Sadeep Jayasumana
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified