James Grahn created AXIOM-445:
---------------------------------

             Summary: Ambiguously typed field & methods associated with OMText
                 Key: AXIOM-445
                 URL: https://issues.apache.org/jira/browse/AXIOM-445
             Project: Axiom
          Issue Type: Improvement
            Reporter: James Grahn
            Priority: Minor


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

The class'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 file 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.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to