/
QNodeMapping.java
46 lines (36 loc) · 1.38 KB
/
QNodeMapping.java
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
/*
* Copyright (C) 2010-2021 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/
package com.evolveum.midpoint.repo.sqale.qmodel.node;
import static com.evolveum.midpoint.xml.ns._public.common.common_3.NodeType.F_NODE_IDENTIFIER;
import com.evolveum.midpoint.repo.sqale.qmodel.object.QObjectMapping;
import com.evolveum.midpoint.repo.sqlbase.SqlTransformerSupport;
import com.evolveum.midpoint.xml.ns._public.common.common_3.NodeType;
/**
* Mapping between {@link QNode} and {@link NodeType}.
*/
public class QNodeMapping
extends QObjectMapping<NodeType, QNode, MNode> {
public static final String DEFAULT_ALIAS_NAME = "nod";
public static final QNodeMapping INSTANCE = new QNodeMapping();
private QNodeMapping() {
super(QNode.TABLE_NAME, DEFAULT_ALIAS_NAME, NodeType.class, QNode.class);
addItemMapping(F_NODE_IDENTIFIER, stringMapper(path(q -> q.nodeIdentifier)));
}
@Override
protected QNode newAliasInstance(String alias) {
return new QNode(alias);
}
@Override
public NodeSqlTransformer createTransformer(
SqlTransformerSupport transformerSupport) {
return new NodeSqlTransformer(transformerSupport, this);
}
@Override
public MNode newRowObject() {
return new MNode();
}
}