package org.korsakow.services.finder; import java.sql.ResultSet; import javax.xml.xpath.XPathExpressionException; import org.korsakow.ide.DataRegistry; import org.korsakow.ide.NodeListResultSet; import org.korsakow.ide.XPathHelper; import org.korsakow.services.tdg.InterfaceTDG; import org.w3c.dom.Element; public class InterfaceFinder { public static ResultSet find(long id) throws XPathExpressionException{ Element element = DataRegistry.getHelper().findElementByIdTag(id); ListNodeList nodeList = new ListNodeList(); if (element != null) { if (!element.getTagName().equals(InterfaceTDG.NODE_NAME)) throw new XPathExpressionException("Expected '" + InterfaceTDG.NODE_NAME + "', found '" + element.getTagName() + "'"); nodeList.add(element); } return new NodeListResultSet(nodeList); } public static ResultSet findByWidget(long widget_id) throws XPathExpressionException{ return DataRegistry.getHelper().xpathAsResultSet(XPathHelper.formatQuery("/korsakow/interfaces/Interface[widgets/Widgets/id=?]", widget_id)); } public static ResultSet findBySound(long sound_id) throws XPathExpressionException{ return DataRegistry.getHelper().xpathAsResultSet(XPathHelper.formatQuery("/korsakow/interfaces/Interface[clickSoundId=?]", sound_id)); } public static ResultSet findAll() throws XPathExpressionException{ return DataRegistry.getHelper().xpathAsResultSet(XPathHelper.formatQuery("/korsakow/interfaces/Interface")); } }