Uploaded image for project: 'mdsal'
  1. mdsal
  2. MDSAL-10 Support anydata and anyxml statements in Binding V1
  3. MDSAL-439

Define OpaqueObject and OpaqueData equality contract

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Done
    • Icon: Medium Medium
    • 4.0.1, 3.0.9
    • None
    • Binding Spec
    • None

      Generating anyxml/anydata properties has a direct implication on DataObject.equals(). Since we currently do not define an equality contract, the default is identity comparison, which is wrong and breaks with proxying – if we generate two proxies, we will end up blowing up if we're not careful.

      The contract needs to be defaulted in OpaqueData first: compare the representations and then the values. Implementations of OpaqueValue can then decide how to compare (via a default method).

      For OpaqueObjects, we first need to compare implementedInterface() and then compare OpaqueData.

            rovarga Robert Varga
            rovarga Robert Varga
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: