Code example for XmlPullParser

Methods: getAttributeName, getAttributeValue

0
        return filter;
    } 
 
    private static StringFilter getFilter(ValueProvider valueProvider, XmlPullParser parser,
            int attributeIndex) {
        String attributeName = parser.getAttributeName(attributeIndex);
 
        switch (attributeName.charAt(0)) {
            case 'e': 
                if (!attributeName.equals(ATTR_EQUALS)) {
                    return null; 
                } 
                return new EqualsFilter(valueProvider, parser.getAttributeValue(attributeIndex));
            case 'i': 
                if (!attributeName.equals(ATTR_IS_NULL)) {
                    return null; 
                } 
                return new IsNullFilter(valueProvider, parser.getAttributeValue(attributeIndex));
            case 's': 
                if (!attributeName.equals(ATTR_STARTS_WITH)) {
                    return null; 
                } 
                return new StartsWithFilter(valueProvider,
                        parser.getAttributeValue(attributeIndex));
            case 'c': 
                if (!attributeName.equals(ATTR_CONTAINS)) {
                    return null; 
                } 
                return new ContainsFilter(valueProvider, parser.getAttributeValue(attributeIndex));
            case 'p': 
                if (!attributeName.equals(ATTR_PATTERN)) {
                    return null; 
                } 
                return new PatternStringFilter(valueProvider,
                        parser.getAttributeValue(attributeIndex));
            case 'r': 
                if (!attributeName.equals(ATTR_REGEX)) {
                    return null; 
                } 
                return new RegexFilter(valueProvider, parser.getAttributeValue(attributeIndex));
        } 
        return null; 
    } 
 
    protected abstract boolean matchesValue(String value);