UNPKG

1.33 kBTypeScriptView Raw
1import { ObjectDefinition } from './objectdefinition/ObjectDefinition';
2import { ObjectDefinitionInspector } from './ObjectDefinitionInspector';
3export declare type NameOrRegexp = string | RegExp;
4export declare abstract class AbstractObjectDefinitionInspector implements ObjectDefinitionInspector {
5 namePatterns: NameOrRegexp[];
6 inspectAll: boolean;
7 relevantClasses: Function[];
8 constructor();
9 addInterestedClass(clazz: Function): void;
10 addNamePattern(nameOrRegex: NameOrRegexp): void;
11 inspect(objectDefinition: ObjectDefinition<any>): any;
12 /**
13 * Indicates whether this inspector is interested in this ObjectDefinition
14 * @param objectDefinition ObjectDefinition The object definition to possibly modify
15 * @return boolean Whether it's interested or not in this ObjectDefinition
16 */
17 interestedIn(objectDefinition: ObjectDefinition<any>): boolean;
18 setInspectAll(inspectAll: boolean): void;
19 /**
20 * If the {@link interestedIn} method returns true, this one will be called to provide
21 * the modified version of the bean definition.
22 * @param {ObjectDefinition} objectDefinition The object definition to possibly modify
23 * @return ObjectDefinition The modified ObjectDefinition
24 */
25 abstract doInspect(objectDefinition: ObjectDefinition<any>): any;
26}