Перейти к основному содержимому
Версия: 5.x

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