/*
 * 作成日： 2004/09/01
 */
package org.seasar.tapestry.pageinjection.impl;

import org.seasar.framework.container.S2Container;
import org.seasar.tapestry.pageinjection.IInjection;
import org.seasar.tapestry.pageinjection.InjectionUtil;

/**
 * トップレベルのオブジェクトに対してDIを行う。
 * 
 * @author maruo_syunsuke
 */
public class TopInjection implements IInjection {
	private final S2Container container;

	public TopInjection(S2Container container) {
		this.container = container ;
	}
	/**
	 * コンテナよりDIを実行する <br>
	 * targetと同じオブジェクトを返していますが、保障はしません。 <br>
	 * 
	 * @param target
	 *            インジェクションするオブジェクト
	 */
	public void injection(Object target) {
		S2Container container = this.container.getRoot();

		InjectionUtil.injectionTypeS(container, target.getClass(), target );
	}
}