Uploaded image for project: 'Axiom'
  1. Axiom
  2. AXIOM-445

Ambiguously typed field & methods associated with OMText

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.3.0
    • API
    • None

    Description

      OMText has an ambiguously typed field "datahandler", which leads to ambiguously typed getters, setters, constructors, and factory methods (elsewhere).

      OMTextImpl's behavior (as of 1.2.10) requires that the "Object" argument be either a DataHandler or DataHandlerProvider. Any other object type will potentially result in a class cast exception within this class's own use. Moreover, this requirement is undocumented in the API Javadocs.

      Using properly typed field/constructor/getter/setter/factory methods would not only increase clarity to users and remove a potential ClassCastException, but also remove switch statements based upon instanceof.

      The field does have a comment which states the intent is "removing the dependency on javax.activation.DataHandler", but to what end? The import statement is included in the most recent versions of the OMTextImpl and there's a good chance the class would have to be present at runtime anyway. Furthermore, other classes within Axiom do require DataHandler as part of their interface.

      As this would be a change to the API, I assume any action on this would probably require waiting until a major version.

      Attachments

        Activity

          People

            veithen Andreas Veithen
            jgrahn James Grahn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: