001 /*
002 @license.text@
003 */
004 package biz.hammurapi.config;
005
006 import javax.xml.transform.TransformerException;
007
008 import org.apache.xpath.CachedXPathAPI;
009 import org.w3c.dom.Element;
010
011 import biz.hammurapi.xml.dom.AbstractDomObject;
012
013 /**
014 * Gets values from DOM Element
015 * @author Pavel Vlasov
016 * @version $Revision: 1.1 $
017 */
018 public class ElementContext extends AbstractDomObject implements Context {
019
020 private Element holder;
021 private CachedXPathAPI cxpa;
022
023 public ElementContext(Element holder) {
024 this.holder=holder;
025 cxpa=new CachedXPathAPI();
026 }
027
028 public Object get(String name) {
029 try {
030 return getElementText(holder, name, cxpa);
031 } catch (TransformerException e) {
032 throw new RuntimeConfigurationException("Cannot read "+name, e);
033 }
034 }
035
036 }