001    package railo.transformer.cfml.evaluator.impl;
002    
003    import railo.transformer.bytecode.statement.tag.Tag;
004    import railo.transformer.bytecode.util.ASMUtil;
005    import railo.transformer.cfml.evaluator.EvaluatorException;
006    import railo.transformer.cfml.evaluator.EvaluatorSupport;
007    import railo.transformer.library.tag.TagLibTag;
008    
009    
010    
011    /**
012     * Pr�ft den Kontext des Tag mailparam.
013     * Das Tag <code>mailParam</code> darf nur innerhalb des Tag <code>mail</code> liegen.
014     */
015    public final class Property extends EvaluatorSupport {
016    
017    
018            /**
019             * @see railo.transformer.cfml.evaluator.EvaluatorSupport#evaluate(org.w3c.dom.Element, railo.transformer.library.tag.TagLibTag)
020             */
021            public void evaluate(Tag tag,TagLibTag libTag) throws EvaluatorException { 
022            
023            // check parent
024                    String ns=libTag.getTagLib().getNameSpaceAndSeparator();
025                    String compName=ns+"component";
026                    
027                    if(!ASMUtil.isParentTag(tag,compName))
028                            throw new EvaluatorException("Wrong Context, tag "+libTag.getFullName()+" must be inside "+compName+" tag");
029            }
030    }