package net.northking.cctp.element.core;

import net.northking.cctp.element.core.keyword.Keyword;
import net.northking.cctp.element.core.support.BeanFactory;

import java.util.Map;

/**
 * Library context
 *
 * @author fengxiang.zhang
 * @since 1.0
 */
public interface LibraryContext extends BeanFactory {

    /**
     * Get component library object.<br>
     * Access to all component information and run component methods.
     *
     * @return
     */
    Library getLibrary();

    /**
     * Get class loader
     *
     * @return
     */
    ClassLoader getClassLoader();

    /**
     * Get found all keywords
     *
     * @return
     */
    Map<String, Keyword> getKeywords();

    /**
     * Refresh thread cache
     */
    void refreshThreadCache();


}