All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jlibs.xml.stream.STAXAttributes Maven / Gradle / Ivy

/**
 * Copyright 2015 Santhosh Kumar Tekuri
 *
 * The JLibs authors license this file to you under the Apache License,
 * version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package jlibs.xml.stream;

import org.xml.sax.Attributes;

import javax.xml.stream.XMLStreamReader;

/**
 * SAX {@link Attributes} implementation for {@link XMLStreamReader}.
 * 
 * @author Santhosh Kumar T
 */
public class STAXAttributes implements Attributes{
    private XMLStreamReader reader;

    public STAXAttributes(XMLStreamReader reader){
        this.reader = reader;
    }

    @Override
    public int getLength(){
        return reader.getAttributeCount();
    }

    @Override
    public String getURI(int index){
        String uri = reader.getAttributeNamespace(index);
        return uri==null ? "" : uri;
    }

    @Override
    public String getLocalName(int index){
        return reader.getAttributeLocalName(index);
    }

    @Override
    public String getQName(int index){
        String localName = reader.getAttributeLocalName(index);
        String prefix = reader.getAttributePrefix(index);
        return prefix==null || prefix.length()==0 ? localName : prefix+':'+localName;
    }

    @Override
    public String getType(int index){
        return reader.getAttributeType(index);
    }

    @Override
    public String getValue(int index){
        return reader.getAttributeValue(index);
    }

    @Override
    public int getIndex(String uri, String localName){
        int count = reader.getAttributeCount();
        for(int i=0; i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy