package org.codehaus.xfire.aegis;

import javax.xml.namespace.QName;

/**
 * A MessageReader. You must call getNextChildReader() until hasMoreChildReaders()
 * returns false.
 * 
 * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a>
 */
public interface MessageReader
{
    public String getValue();

    public int getValueAsInt();

    public long getValueAsLong();

    public double getValueAsDouble();

    public float getValueAsFloat();

	public boolean getValueAsBoolean();
    
    public boolean hasMoreAttributeReaders();
    
    public MessageReader getNextAttributeReader();
    
    public boolean hasMoreElementReaders();
    
    public MessageReader getNextElementReader();
    
    public QName getName();
    
    /**
     * Get the local name of the element this reader represents.
     * @return
     */
    public String getLocalName();

    /**
     * @return
     */
    public String getNamespace();

}

@@ -489,16 +489,77 @@
 olean();
+%0A%0A    public MessageReader getAttributeReader( QName qName );
 %0A    %0A  
@@ -878,32 +878,43 @@
 .%0A     * @return
+ Local Name
 %0A     */%0A    pub
@@ -963,16 +963,26 @@
  @return
+ Namespace
 %0A     */
@@ -1017,10 +1017,69 @@
 ace();%0A%0A
+    public String getNamespaceForPrefix( String prefix );%0A%0A
 %7D%0A

Add method to get AttributeReader for specific attribute as well as ability to determine namespaces for a given prefix