-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Class_DictFieldUtil.xpp
56 lines (48 loc) · 1.68 KB
/
Class_DictFieldUtil.xpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
//
// https://github.com/mazzy-ax/SysUtil
//
// Класс обслуживает объекты с типом DictField
//
// Util-класс реализует только статические методы.
// не содержит внутри никаких значений.
// не имеет смысла создавать экземпляр этого класса.
//
// @see FieldIdUtil
//
abstract class DictFieldUtil
{
public static Types baseType(DictField df)
{
Types type = TypeUtil::undefined();
if( df )
{
type = df.baseType();
}
return type;
}
public static boolean is(DictField dt, ExtendedTypeId potentialAncestorId)
{
boolean ret;
if( dt && potentialAncestorId)
{
ret = ExtendedTypeUtil::is(dt.typeId(), potentialAncestorId);
}
return ret;
}
// Возвращает подходящий не nullable объект.
// Полезно в выражениях, чтобы быть уверенным, что после выполнения этого метода объект точно не null
//
// not в названиях методов прочно ассоциируется с оператором логического отрицания (!)
// Поэтому название этого метода NonNull, а не NotNull
//
// @see https://stackoverflow.com/questions/4963300/which-notnull-java-annotation-should-i-use
//
public static DictField nonNull(DictField df)
{
if( !df )
{
df = new DictField(tablenum(Common), fieldnum(Common, RecId));
}
return df;
}
}