You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Glen Daniels <gd...@macromedia.com> on 2002/05/24 20:24:04 UTC
RE: cvs commit: xml-axis/java/test/encoding DataDeser.java DataDe
serFactory.java DataSerFactory.java TestDOM.java TestDeser.java TestHrefs
.java TestSer.java
While I was working on this stuff, I noticed the
org.apache.axis.encoding.Deserializer interface had been introduced, I
assume as another point of extensibility(?), during Rich's revamp of the
encoding framework. I have removed this interface, and renamed the
DeserializerImpl class to Deserializer, as it was before. The reason for
this is as follows: before Rich's modification, Deserializer extended
SOAPHandler directly, so it was clear that all Deserializers WERE
in fact SOAPHandlers. Afterwards, there were a number of places where we
needed to do a manual cast of a Deserializer to a SOAPHandler deep in the
deserialization code. This worked, because every Deserializer
implementation we currently had extended SOAPHandler (b/c DeserializerImpl
did). However, there is no requirement that someone wouldn't try to
build another Deserializer implementation which didn't extend SOAPHandler,
and break the system. These kinds of cross-casts are really bad ideas.
The code is now less prone to breakage, and easier to understand.
Note that we DO still implement the JAX-RPC Deserializer interface, which
is the one that really needs to be an interface.
--Glen