Оператор CHANGECLASS
Оператор CHANGECLASS
- создание действия, которое изменяет классы объектов.
Синтаксис
CHANGECLASS expr TO className [WHERE whereExpr]
Описание
Оператор CHANGECLASS
создает действие, изменяющее класс объектов, для которых выполняется определенное условие. Этот оператор может добавить свой локальный параметр, который будет соответствовать перебираемым объектам. В этом случае блок WHERE
является обязательным. Этот локальный параметр не будет являться параметром создаваемого действия.
Параметры
expr
Выражение или типизированный параметр. В качестве типизированного параметра можно использовать как уже объявленный параметр, так и объявить новый локальный параметр. При использовании выражения добавлять новые локальные параметры нельзя.
className
Имя класса, на который необходимо изменить классы объектов. Составной идентификатор, так как класс должен быть пользовательским.
whereExpr
Выражение, значение которого является условием создаваемого действия. Если не задано, считается равным
TRUE
.
Примеры
CLASS Document;
date = DATA DATE (Document);
CLASS ClosedDocument : Document;
// переводит все документы с датой старше 2-х недель в статус закрыт
changeStatus() {
CHANGECLASS Document d TO ClosedDocument WHERE sum(date(d), 14) <= currentDate();
}