import { EventListenerType } from "./types/EventListenerTypes";
|
import { EntityListenerMetadataArgs } from "../metadata-args/EntityListenerMetadataArgs";
|
import { ObjectLiteral } from "../common/ObjectLiteral";
|
import { EntityMetadata } from "./EntityMetadata";
|
import { EmbeddedMetadata } from "./EmbeddedMetadata";
|
/**
|
* This metadata contains all information about entity's listeners.
|
*/
|
export declare class EntityListenerMetadata {
|
/**
|
* Entity metadata of the listener.
|
*/
|
entityMetadata: EntityMetadata;
|
/**
|
* Embedded metadata of the listener, in the case if listener is in embedded.
|
*/
|
embeddedMetadata?: EmbeddedMetadata;
|
/**
|
* Target class to which metadata is applied.
|
* This can be different then entityMetadata.target in the case if listener is in the embedded.
|
*/
|
target: Function | string;
|
/**
|
* Target's property name to which this metadata is applied.
|
*/
|
propertyName: string;
|
/**
|
* The type of the listener.
|
*/
|
type: EventListenerType;
|
constructor(options: {
|
entityMetadata: EntityMetadata;
|
embeddedMetadata?: EmbeddedMetadata;
|
args: EntityListenerMetadataArgs;
|
});
|
/**
|
* Checks if entity listener is allowed to be executed on the given entity.
|
*/
|
isAllowed(entity: ObjectLiteral): boolean;
|
/**
|
* Executes listener method of the given entity.
|
*/
|
execute(entity: ObjectLiteral): any;
|
/**
|
* Calls embedded entity listener method no matter how nested it is.
|
*/
|
protected callEntityEmbeddedMethod(entity: ObjectLiteral, propertyPaths: string[]): void;
|
}
|