FileDocCategorySizeDatePackage
BasePullParser.javaAPI DocAndroid 1.5 API6802Wed May 06 22:41:10 BST 2009com.android.ide.eclipse.editors.layout

BasePullParser

public abstract class BasePullParser extends Object implements com.android.layoutlib.api.IXmlPullParser
Base implementation of an {@link IXmlPullParser} for cases where the parser is not sitting on top of an actual XML file.

It's designed to work on layout files, and will most likely not work on other resource files.

Fields Summary
protected int
mParsingState
Constructors Summary
public BasePullParser()

    
      
    
Methods Summary
public voiddefineEntityReplacementText(java.lang.String entityName, java.lang.String replacementText)

        throw new XmlPullParserException("defineEntityReplacementText() not supported");
    
public java.lang.StringgetAttributeType(int arg0)

        return "CDATA";
    
public intgetColumnNumber()

        return -1;
    
public intgetEventType()

        return mParsingState;
    
public booleangetFeature(java.lang.String name)

        if (FEATURE_PROCESS_NAMESPACES.equals(name)) {
            return true;
        }
        if (FEATURE_REPORT_NAMESPACE_ATTRIBUTES.equals(name)) {
            return true;
        }
        return false;
    
public java.lang.StringgetInputEncoding()

        return null;
    
public intgetLineNumber()

        return -1;
    
public java.lang.StringgetNamespace(java.lang.String prefix)

        throw new RuntimeException("getNamespace() not supported");
    
public intgetNamespaceCount(int depth)

        throw new XmlPullParserException("getNamespaceCount() not supported");
    
public java.lang.StringgetNamespacePrefix(int pos)

        throw new XmlPullParserException("getNamespacePrefix() not supported");
    
public java.lang.StringgetNamespaceUri(int pos)

        throw new XmlPullParserException("getNamespaceUri() not supported");
    
public java.lang.ObjectgetProperty(java.lang.String name)

        return null;
    
public java.lang.StringgetText()

        return null;
    
public char[]getTextCharacters(int[] arg0)

        return null;
    
public booleanisAttributeDefault(int arg0)

        return false;
    
public booleanisWhitespace()

        return false;
    
public intnext()

        switch (mParsingState) {
            case END_DOCUMENT:
                throw new XmlPullParserException("Nothing after the end");
            case START_DOCUMENT:
                onNextFromStartDocument();
                break;
            case START_TAG:
                onNextFromStartTag();
                break;
            case END_TAG:
                onNextFromEndTag();
                break;
            case TEXT:
                // not used
                break;
            case CDSECT:
                // not used
                break;
            case ENTITY_REF:
                // not used
                break;
            case IGNORABLE_WHITESPACE:
                // not used
                break;
            case PROCESSING_INSTRUCTION:
                // not used
                break;
            case COMMENT:
                // not used
                break;
            case DOCDECL:
                // not used
                break;
        }
        
        return mParsingState;
    
public intnextTag()

        int eventType = next();
        if (eventType != START_TAG && eventType != END_TAG) {
            throw new XmlPullParserException("expected start or end tag", this, null);
        }
        return eventType;
    
public java.lang.StringnextText()

        if (getEventType() != START_TAG) {
            throw new XmlPullParserException("parser must be on START_TAG to read next text", this,
                    null);
        }
        int eventType = next();
        if (eventType == TEXT) {
            String result = getText();
            eventType = next();
            if (eventType != END_TAG) {
                throw new XmlPullParserException(
                        "event TEXT it must be immediately followed by END_TAG", this, null);
            }
            return result;
        } else if (eventType == END_TAG) {
            return "";
        } else {
            throw new XmlPullParserException("parser must be on START_TAG or TEXT to read text",
                    this, null);
        }
    
public intnextToken()

        return next();
    
public abstract voidonNextFromEndTag()

public abstract voidonNextFromStartDocument()

public abstract voidonNextFromStartTag()

public voidrequire(int type, java.lang.String namespace, java.lang.String name)

        if (type != getEventType() || (namespace != null && !namespace.equals(getNamespace()))
                || (name != null && !name.equals(getName())))
            throw new XmlPullParserException("expected " + TYPES[type] + getPositionDescription());
    
public voidsetFeature(java.lang.String name, boolean state)

        if (FEATURE_PROCESS_NAMESPACES.equals(name) && state) {
            return;
        }
        if (FEATURE_REPORT_NAMESPACE_ATTRIBUTES.equals(name) && state) {
            return;
        }
        throw new XmlPullParserException("Unsupported feature: " + name);
    
public voidsetInput(java.io.InputStream inputStream, java.lang.String inputEncoding)

        throw new XmlPullParserException("setInput() not supported");
    
public voidsetInput(java.io.Reader in)

        throw new XmlPullParserException("setInput() not supported");
    
public voidsetProperty(java.lang.String name, java.lang.Object value)

        throw new XmlPullParserException("setProperty() not supported");