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

edu.stanford.protege.webprotege.place.ItemTokenParser Maven / Gradle / Ivy

The newest version!
package edu.stanford.protege.webprotege.place;

import com.google.common.collect.Lists;

import java.util.List;
import java.util.Optional;

/**
 * @author Matthew Horridge, Stanford University, Bio-Medical Informatics Research Group, Date: 19/05/2014
 */
public class ItemTokenParser {

    public interface ItemTypeMapper {
        ItemParser getParser(String typeName);
    }


    public interface ItemParser {
        Optional parseItem(String content);
    }

    public List> parse(ItemToken token, ItemTypeMapper itemTypeMapper) {
        List> result = Lists.newArrayList();
//        if("Path".endsWith(token.getTypeName())) {
//            List subTokens = new ItemTokenizer().parseTokens(token.getItemContent());
//            for(ItemToken subToken : subTokens) {
//                List> path = parse(subToken, itemTypeMapper);
//                result.add(path);
//            }
//        }
//        else {
            ItemParser itemParser = itemTypeMapper.getParser(token.getTypeName());
            if(itemParser != null) {
                Optional item = itemParser.parseItem(token.getItemContent());
                if(item.isPresent()) {
                    result.add(item.get());
                }
            }
//        }
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy