-
Notifications
You must be signed in to change notification settings - Fork 1
Ensure methods
mazzy edited this page Dec 29, 2019
·
5 revisions
Ensure возвращают исходный args. Бросают исключение, если в аргументах не подходящие параметры.
Ensure методы - это методы объекта, в отличие от статических Assert методов. Поэтому ensure методы удобно записывать цепочкой в одну строку при инициализации переменных. Но ensure методы не могут проверить, что сам args
инициализирован. Если args == null
, то виртуальная машина бросит исключение на args.ensure()
еще до срабатывания метода.
Метод | Должно быть |
---|---|
ensureCallerFormName | Вызвавший объект должен являться потомком FormRun и название формы совпадает с указанным. Иначе бросает исключение |
ensureCallerType | Вызвавший объект должен являться потомком указанного класса. Иначе бросает исключение |
ensureEnum | Тип и значение enum а в аргументах должен совпадать с указанным. Иначе бросает исключение |
ensureEnumType | Тип enum в аргументах должен совпадать с указанным. Иначе бросает исключение |
ensureFormDatasource | Переданная запись должна находиться в датасорсе. Иначе бросает исключение |
ensureParm | Значение строкового параметра должно удовлетворять шаблону. Иначе бросает исключение. Проверка выполняется при помощи функции match. Если оставить шаблон по умолчанию, то бросает исключение если строка параметров пустая |
ensureRecord | Переданная запись должна быть из указанной таблицы. Иначе бросает исключение |
ensureRecordExists | Переданная запись должна существовать в базе данных recId != 0 . Иначе бросает исключение |
ensureRecordTableIds | Переданная запись должна быть одной из перечисленных в контейнере таблиц. Иначе бросает исключение |
public static void main(Args args)
{
ProdTable prod = args.ensureCallerType(classnum(FormRun)).getRecord(tablenum(ProdTable));
...