FileDocCategorySizeDatePackage
MapDeserializer.javaAPI DocApache Axis 1.47598Sat Apr 22 18:57:28 BST 2006org.apache.axis.encoding.ser

MapDeserializer

public class MapDeserializer extends org.apache.axis.encoding.DeserializerImpl

Fields Summary
protected static Log
log
public static final Object
KEYHINT
public static final Object
VALHINT
public static final Object
NILHINT
Constructors Summary
Methods Summary
public org.apache.axis.message.SOAPHandleronStartChild(java.lang.String namespace, java.lang.String localName, java.lang.String prefix, org.xml.sax.Attributes attributes, org.apache.axis.encoding.DeserializationContext context)
onStartChild is called on each child element.

param
namespace is the namespace of the child element
param
localName is the local name of the child element
param
prefix is the prefix used on the name of the child element
param
attributes are the attributes of the child element
param
context is the deserialization context.
return
is a Deserializer to use to deserialize a child (must be a derived class of SOAPHandler) or null if no deserialization should be performed.


        if (log.isDebugEnabled()) {
            log.debug("Enter: MapDeserializer::onStartChild()");
        }

        if(localName.equals("item")) {
            ItemHandler handler = new ItemHandler(this);
            
            // This item must be complete before we're complete...
            addChildDeserializer(handler);
            
            if (log.isDebugEnabled()) {
                log.debug("Exit: MapDeserializer::onStartChild()");
            }
    
            return handler;
        }
        
        return this;
    
public voidonStartElement(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 after startElement when the element requires deserialization (i.e. the element is not an href and the value is not nil.) Simply creates map.

param
namespace is the namespace of the element
param
localName is the name of the element
param
prefix is the prefix of the element
param
attributes are the attributes on the element...used to get the type
param
context is the DeserializationContext

        


                                                                              
         
                                  
                                
          
        if (log.isDebugEnabled()) {
            log.debug("Enter MapDeserializer::startElement()");
        }
        
        if (context.isNil(attributes)) {
            return;
        }
        
        // Create a hashmap to hold the deserialized values.
        setValue(new HashMap());
        
        if (log.isDebugEnabled()) {
            log.debug("Exit: MapDeserializer::startElement()");
        }
    
public voidsetChildValue(java.lang.Object value, java.lang.Object hint)
The registerValueTarget code above causes this set function to be invoked when each value is known.

param
value is the value of an element
param
hint is the key

        if (log.isDebugEnabled()) {
            log.debug(Messages.getMessage("gotValue00", "MapDeserializer", "" + value));
        }
        ((Map)this.value).put(hint, value);