/
association_AddMNToOnlyOne.ump
86 lines (80 loc) · 5.47 KB
/
association_AddMNToOnlyOne.ump
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
class UmpleToJava {
association_AddMNToOnlyOne <<! /* Code from template association_AddMNToOnlyOne */
<</*association_AddMNToOnlyOne*/>><<# if(!(av.getRelatedAssociation().getUmpleClass().getIsAbstract())) {#>> public <<=gen.translate("type",av)>> <<=gen.translate("addMethod",av)>>(<<=gen.translate("methodArgumentsExcept",relatedAssociation)>>)
{
if (<<=gen.translate("numberOfMethod",av)>>() >= <<=gen.translate("maximumNumberOfMethod",av)>>())
{
return null;
}
else
{
return new <<=gen.translate("type",av)>>(<<=gen.translate("callerArgumentsExcept",relatedAssociation)>>);
}
}<<#}#>>
public boolean <<=gen.translate("addMethod",av)>>(<<=gen.translate("type",av)>> <<=gen.translate("parameterOne",av)>>)
{
boolean wasAdded = false;
<<# if (customAddPrefixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customAddPrefixCode,gen.translate("addMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customAddPrefixCode, " ")); } #>>
if (<<=gen.translate("numberOfMethod",av)>>() >= <<=gen.translate("maximumNumberOfMethod",av)>>())
{
<<# if (customAddPostfixCode != null) { append(realSb, "\n{0}",GeneratorHelper.doIndent(customAddPostfixCode, " ")); } #>>
return wasAdded;
}
<<=gen.relatedTranslate("type",av)>> <<=gen.relatedTranslate("parameterExisting",av)>> = <<=gen.translate("parameterOne",av)>>.<<=gen.relatedTranslate("getMethod",av)>>();
boolean <<=gen.relatedTranslate("parameterIsNew",av)>> = <<=gen.relatedTranslate("parameterExisting",av)>> != null && !<<=self>>.equals(<<=gen.relatedTranslate("parameterExisting",av)>>);
if (<<=gen.relatedTranslate("parameterIsNew",av)>> && <<=gen.relatedTranslate("parameterExisting",av)>>.<<=gen.translate("numberOfMethod",av)>>() <= <<=gen.translate("minimumNumberOfMethod",av)>>())
{
<<# if (customAddPostfixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customAddPostfixCode,gen.translate("addMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customAddPostfixCode, " ")); } #>>
return wasAdded;
}<<#for( TraceItem traceItemAssocAdd : traceItemAssocAdds )#>><<=
(traceItemAssocAdd!=null&&traceItemAssocAdd.getIsPre()?"\n"+traceItemAssocAdd.trace(gen, av,"as_a", uClass,gen.translate("numberOfMethod",av)+"()"):"")
>>
if (<<=gen.relatedTranslate("parameterIsNew",av)>>)
{
<<=gen.translate("parameterOne",av)>>.<<=gen.relatedTranslate("setMethod",av)>>(<<=self>>);
}
else
{
<<=gen.translate("associationMany",av)>>.add(<<=gen.translate("parameterOne",av)>>);
}<<#for( TraceItem traceItemAssocAdd : traceItemAssocAdds )#>><<=
(traceItemAssocAdd!=null&&traceItemAssocAdd.getIsPost()?"\n"+traceItemAssocAdd.trace(gen, av,"as_a", uClass,gen.translate("numberOfMethod",av)+"()"):"")
>>
wasAdded = true;
<<# if (customAddPostfixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customAddPostfixCode,gen.translate("addMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customAddPostfixCode, " ")); } #>>
return wasAdded;
}
public boolean <<=gen.translate("removeMethod",av)>>(<<=gen.translate("type",av)>> <<=gen.translate("parameterOne",av)>>)
{
boolean wasRemoved = false;
<<# if (customRemovePrefixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customRemovePrefixCode,gen.translate("removeMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customRemovePrefixCode, " ")); } #>>
//Unable to remove <<=gen.translate("parameterOne",av)>>, as it must always have a <<=gen.relatedTranslate("associationOne",av)>>
if (<<=self>>.equals(<<=gen.translate("parameterOne",av)>>.<<=gen.relatedTranslate("getMethod",av)>>()))
{
<<# if (customRemovePostfixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customRemovePostfixCode,gen.translate("removeMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customRemovePostfixCode, " ")); } #>>
return wasRemoved;
}
//<<=gen.relatedTranslate("associationOne",av)>> already at minimum (<<=av.getMultiplicity().getLowerBound()>>)
if (<<=gen.translate("numberOfMethod",av)>>() <= <<=gen.translate("minimumNumberOfMethod",av)>>())
{
<<# if (customRemovePostfixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customRemovePostfixCode,gen.translate("removeMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customRemovePostfixCode, " ")); } #>>
return wasRemoved;
}
<<#for( TraceItem traceItemAssocRemove : traceItemAssocRemoves )#>><<=
(traceItemAssocRemove!=null&&traceItemAssocRemove.getIsPre()?"\n"+traceItemAssocRemove.trace(gen, av,"as_r", uClass,gen.translate("numberOfMethod",av)+"()"):"")
>>
<<=gen.translate("associationMany",av)>>.remove(<<=gen.translate("parameterOne",av)>>);<<#for( TraceItem traceItemAssocRemove : traceItemAssocRemoves )#>><<=
(traceItemAssocRemove!=null&&traceItemAssocRemove.getIsPost()?"\n"+traceItemAssocRemove.trace(gen, av,"as_r", uClass,gen.translate("numberOfMethod",av)+"()"):"")
>>
wasRemoved = true;
<<# if (customRemovePostfixCode != null) { addUncaughtExceptionVariables(realSb.toString().split("\\n").length,customRemovePostfixCode,gen.translate("removeMethod",av));
append(realSb, "\n{0}",GeneratorHelper.doIndent(customRemovePostfixCode, " ")); } #>>
return wasRemoved;
}
!>>
}