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 }