Package de.japkit.test.members.field
Class FieldTemplate.setterDefensiveCopy
java.lang.Object
de.japkit.test.members.field.FieldTemplate.setterDefensiveCopy
- Enclosing class:
- FieldTemplate
@Switch
class FieldTemplate.setterDefensiveCopy
extends java.lang.Object
Generates a code to create a defensive copy if a mutable type is used.
Here, only List is supported, but more cases could be added (Set, Map, Date, ...).
In a Switch the first case that evaluates to true is applied. A case can
either be annotated by a boolean function (like FieldTemplate.isList
below) or
by Case
.
Since the Switch shall provide a code fragment here, each case needs to
be annotated with CodeFragment
.
Since setterDefensiveCopy is used as a fragment that surrounds other code, there is some special EL variable "surrounded" available here that contains the code to be surrounded.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description setterDefensiveCopy()
-
Method Summary
-
Field Details
-
copyList
@isList @CodeFragment(imports=java.util.ArrayList.class, code="new ArrayList<>(#{surrounded})") java.lang.String copyListThe code fragment for creating a defensive copy of a List. -
deflt
@DefaultCase @CodeFragment(code="#{surrounded}") java.lang.String defltThe code fragment for the default case, without defensive copy.
-
-
Constructor Details
-
setterDefensiveCopy
setterDefensiveCopy()
-