DataDeserpublic class DataDeser extends org.apache.axis.encoding.DeserializerImpl
Fields Summary |
---|
public static final String | STRINGMEMBER | public static final String | FLOATMEMBER | public static final String | DATAMEMBER | public static final QName | myTypeQName | private Hashtable | typesByMemberName |
Constructors Summary |
---|
public DataDeser()
typesByMemberName.put(STRINGMEMBER, Constants.XSD_STRING);
typesByMemberName.put(FLOATMEMBER, Constants.XSD_FLOAT);
typesByMemberName.put(DATAMEMBER, myTypeQName);
value = new Data();
|
Methods Summary |
---|
public org.apache.axis.message.SOAPHandler | onStartChild(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes attributes, org.apache.axis.encoding.DeserializationContext context)This method is invoked when an element start tag is encountered.
QName typeQName = (QName)typesByMemberName.get(localName);
if (typeQName == null)
throw new SAXException("Invalid element in Data struct - " + localName);
// These can come in either order.
Deserializer dSer = context.getDeserializerForType(typeQName);
try {
dSer.registerValueTarget(new FieldTarget(value, localName));
} catch (NoSuchFieldException e) {
throw new SAXException(e);
}
if (dSer == null)
throw new SAXException("No deserializer for a " + typeQName + "???");
return (SOAPHandler)dSer;
|
|