UNPKG

node-web-mvc

Version:
32 lines (31 loc) 1.28 kB
import { ClazzType } from '../../interface/declare'; import BeanDefinition from '../factory/BeanDefinition'; import BeanPostProcessor from './BeanPostProcessor'; export declare interface PropertyValue { name: string; value: any; optional: boolean; } export default abstract class InstantiationAwareBeanPostProcessor extends BeanPostProcessor { /** * 实例化bean之前执行 * @param beanClass bean类 * @param beanName 当前bean在容器中的名称 * @returns 如果返回了对象,则用于代替默认的实例对象 */ postProcessBeforeInstantiation(beanClass: ClazzType, beanName: string): object; /** * 实例化bean之后执行 * @param instance bean实例对象 * @param beanName 当前bean在容器中的名称 * @returns 如果返回 false 则不进行属性设置,即不执行postProcessProperties */ postProcessAfterInstantiation(instance: object, beanName: string): boolean; /** * 处理实例属性值 * @param pvs 属性值列表 * @param instance bean实例对象 * @param beanName 当前bean在容器中的名称 */ postProcessProperties(pvs: PropertyValue[], instance: object, beanName: string, definition: BeanDefinition): PropertyValue[]; }