001 package org.shiftone.jrat.provider.tree; 002 003 004 import org.shiftone.jrat.util.Assert; 005 006 007 /** 008 * Class DelegateThreadLocal 009 * 010 * @author jeff@shiftone.org (Jeff Drost) 011 */ 012 public class DelegateThreadLocal extends ThreadLocal { 013 014 private TreeMethodHandlerFactory factory = null; 015 016 public DelegateThreadLocal(TreeMethodHandlerFactory factory) { 017 018 Assert.assertNotNull("factory", factory); 019 020 this.factory = factory; 021 } 022 023 024 protected final Object initialValue() { 025 return new Delegate(factory.getRootNode()); 026 } 027 }