// Path: tiger/src/main/java/org/eddy/tiger/TigerBean.java
// public interface TigerBean<T> extends Bean<T> {
// 
// 	boolean isRight(String name, Type type);
// 	
// 	boolean isConstructor();
// 	
// 	ConstructorInjectionPoint getConstructorInjectionPoint();
// }


import java.util.HashSet;
import java.util.Set;
import org.eddy.tiger.TigerBean;
import java.lang.reflect.Type;
/**
 * 
 * @creatTime 上午11:35:28
 * @author Eddy
 */
package org.eddy.tiger.context;



/**
 * @author Eddy
 * 
 */
public class CreationalContextImpl<T> implements TigerCreationalContext<T> {

	private Set<T> incompleteInstances = new HashSet<>();

	private AbstractContext context;
	
	/**
	 * 构造函数
	 * @creatTime 上午9:18:42
	 * @author Eddy
	 */
	public CreationalContextImpl(AbstractContext context) {
		this.context = context;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * javax.enterprise.context.spi.CreationalContext#push(java.lang.Object)
	 */
	@Override
	public void push(T incompleteInstance) {
		incompleteInstances.add(incompleteInstance);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see javax.enterprise.context.spi.CreationalContext#release()
	 */
	@Override
	public void release() {
		this.incompleteInstances.clear();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eddy.tiger.context.TigerCreationalContext#get(java.lang.String)
	 */
	@Override
	public T get(String name) {
		for (T bean : incompleteInstances) {
// Path: tiger/src/main/java/org/eddy/tiger/TigerBean.java
// public interface TigerBean<T> extends Bean<T> {
// 
// 	boolean isRight(String name, Type type);
// 	
// 	boolean isConstructor();
// 	
// 	ConstructorInjectionPoint getConstructorInjectionPoint();
// }


// Path: tiger/src/main/java/org/eddy/tiger/context/CreationalContextImpl.java
import java.util.HashSet;
import java.util.Set;
import org.eddy.tiger.TigerBean;
import java.lang.reflect.Type;

/**
 * 
 * @creatTime 上午11:35:28
 * @author Eddy
 */
package org.eddy.tiger.context;



/**
 * @author Eddy
 * 
 */
public class CreationalContextImpl<T> implements TigerCreationalContext<T> {

	private Set<T> incompleteInstances = new HashSet<>();

	private AbstractContext context;
	
	/**
	 * 构造函数
	 * @creatTime 上午9:18:42
	 * @author Eddy
	 */
	public CreationalContextImpl(AbstractContext context) {
		this.context = context;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see
	 * javax.enterprise.context.spi.CreationalContext#push(java.lang.Object)
	 */
	@Override
	public void push(T incompleteInstance) {
		incompleteInstances.add(incompleteInstance);
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see javax.enterprise.context.spi.CreationalContext#release()
	 */
	@Override
	public void release() {
		this.incompleteInstances.clear();
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eddy.tiger.context.TigerCreationalContext#get(java.lang.String)
	 */
	@Override
	public T get(String name) {
		for (T bean : incompleteInstances) {
			if (((TigerBean<?>) bean).isRight(name, null)) {