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    }