ws-soap-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Scott Nichol" <snicholn...@scottnichol.com>
Subject Re: odd reflective stuff
Date Sat, 06 Aug 2005 04:34:18 GMT
The following is my assumption.  I was not a developer on Apache SOAP when the code was written.

The XMI serializers depend on an XMI jar from IBM.  The ant build file allows Apache SOAP
to be built without that jar, but Apache SOAP will then not have the XMI serializer classes
as part of it.  This code is a way to handle the absence of those classes at run time when
using a version of Apache SOAP built that way.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: "WJCarpenter" <bill-soap@carpenter.ORG>
To: "soap-dev" <soap-dev@ws.apache.org>
Sent: Friday, August 05, 2005 9:26 PM
Subject: odd reflective stuff


> I happened across this stuff in org.apache.soap.encoding.SOAPMappingRegistry.
> Those Class.forName() calls struck me as a little odd.  It's mainly
> curiosity, but I wonder why those things were instantiated
> reflectively instead of just via new like so many other serializers in
> that same source file.
> 
> 
>     try {
>       Class XMISerializer =
>         Class.forName("org.apache.soap.util.xml.XMISerializer");
>       Class XMIParameterSerializer =
>         Class.forName("org.apache.soap.encoding.xmi.XMIParameterSerializer");
> 
>       // Register default serializers for XMI encoding style.
>       mapTypes(Constants.NS_URI_XMI_ENC, null, null,
>                (Serializer)XMISerializer.newInstance(),
>                (Deserializer)XMIParameterSerializer.newInstance());
> 
>       // Register serializer for Parameter class - not deserializer!
>       mapTypes(Constants.NS_URI_XMI_ENC, null, Parameter.class,
>                (Serializer)XMIParameterSerializer.newInstance(), null);
>     } catch (IllegalAccessException iae) {
>     } catch (InstantiationException ie) {
>     } catch (ClassNotFoundException cnfe) {
>     } catch (NoClassDefFoundError ncdfe) {
>       // If the class can't be loaded, continue without it...
>     }
> 
> -- 
> bill-soap@carpenter.ORG (WJCarpenter)    PGP 0x91865119
> 38 95 1B 69 C9 C6 3D 25    73 46 32 04 69 D6 ED F3
> 
> 

Mime
View raw message