Оператор 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();
}