001    package org.nanocontainer.webcontainer.groovy;
002    
003    import java.util.Map;
004    
005    import org.mortbay.jetty.servlet.FilterHolder;
006    
007    import groovy.util.NodeBuilder;
008    
009    public class FilterHolderBuilder extends NodeBuilder {
010    
011        private FilterHolder filterHolder;
012    
013        public FilterHolderBuilder(FilterHolder filter) {
014            this.filterHolder = filter;
015        }
016    
017        protected Object createNode(Object name, Map map) {
018            if (name.equals("initParam")) {
019                return createInitParam(map);
020            }
021            return "";        
022        }
023    
024        protected Object createInitParam(Map map) {
025            String name = (String) map.remove("name");
026            String value = (String) map.remove("value");
027            filterHolder.setInitParameter(name, value);
028            return null;
029        }
030    
031    }