-
Notifications
You must be signed in to change notification settings - Fork 188
/
PrismValueDeltaSetTripleProducer.java
61 lines (46 loc) · 1.76 KB
/
PrismValueDeltaSetTripleProducer.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
* Copyright (c) 2015-2017 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.model.common.mapping;
import javax.xml.namespace.QName;
import com.evolveum.midpoint.prism.ItemDefinition;
import com.evolveum.midpoint.prism.PrismValue;
import com.evolveum.midpoint.prism.delta.PrismValueDeltaSetTriple;
import com.evolveum.midpoint.util.HumanReadableDescribable;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingStrengthType;
public interface PrismValueDeltaSetTripleProducer<V extends PrismValue, D extends ItemDefinition> extends HumanReadableDescribable {
QName getMappingQName();
/**
* Null output triple means "the mapping is not applicable", e.g. due to the
* condition being false.
* Empty output triple means "the mapping is applicable but there are no values".
*/
PrismValueDeltaSetTriple<V> getOutputTriple();
MappingStrengthType getStrength();
PrismValueDeltaSetTripleProducer<V, D> clone();
boolean isExclusive();
boolean isAuthoritative();
/**
* Returns true if the mapping has no source. That means
* it has to be evaluated for any delta. This really applies
* only to normal-strength mappings.
*/
boolean isSourceless();
/**
* Identifier of this producer; e.g. mapping name.
*/
String getIdentifier();
default boolean isStrong() {
return getStrength() == MappingStrengthType.STRONG;
}
default boolean isNormal() {
return getStrength() == MappingStrengthType.NORMAL;
}
default boolean isWeak() {
return getStrength() == MappingStrengthType.WEAK;
}
boolean isPushChanges();
}