package net.northking.cctp.element.core.support;

import java.util.Collection;

/**
 * BeanFactory
 *
 * @author fengxiang.zhang
 * @since 1.0
 */
public interface BeanFactory {

    /**
     * Get registered bean by type
     *
     * @param requiredType
     * @param <T>
     * @return
     */
    <T> T getBean(Class<T> requiredType);

    /**
     * Get all registered beans
     *
     * @return
     */
    Collection<Object> getAllBeans();

}