PtrHelper.java 1.05 KB
package ipipan.clarin.tei.impl.io.read;

import ipipan.clarin.tei.impl.io.IdValuePair;

import java.util.LinkedList;
import java.util.List;

import javax.xml.stream.XMLStreamException;

/**
 * 
 * @author mlenart
 */
class PtrHelper {

	static List<String> readPtrs(InWrapper in) throws XMLStreamException {
		List<String> res = new LinkedList<String>();
		while (in.isStart("ptr")) {
			String target = getRealPtr(in.getAttr("target"));
			res.add(target);
			in.nextTag();
			in.requireEnd(); // ptr
			in.nextTag();
		}
		return res;
	}

	static List<IdValuePair> readPtrsWithTypes(InWrapper in)
			throws XMLStreamException {
		List<IdValuePair> res = new LinkedList<IdValuePair>();
		while (in.isStart("ptr")) {
			String target = getRealPtr(in.getAttr("target"));
			String type = in.getAttr("type");
			res.add(new IdValuePair(target, type));
			in.nextTag();
			in.requireEnd(); // ptr
			in.nextTag();
		}
		return res;
	}

	private static String getRealPtr(String target) {
		String[] targetSplit = target.split("#");
		return targetSplit[targetSplit.length - 1];
	}
}