Package org.mapstruct
Annotation Type IterableMapping
-
@Target(METHOD) @Retention(CLASS) public @interface IterableMapping
Configures the mapping between two iterable like types, e.g.List<String>andList<Date>.Note: either
dateFormat(),elementTargetType()orqualifiedBy()must be specifiedExample: Convert List<Float> to List<String>
@Mapper public interface FloatToStringMapper { @IterableMapping( numberFormat = "##.00" ) List<String> sourceToTarget(List<Float> source); }
Supported mappings are:// generates public class FloatToStringMapperImpl implements FloatToStringMapper { @Override public List<String> sourceToTarget(List<Float> source) { List<String> list = new ArrayList<String>( source.size() ); for ( Float float1 : source ) { list.add( new DecimalFormat( "##.00" ).format( float1 ) ); } // ... } }Iterable<A>to/fromIterable<B>/Iterable<A>Iterable<A>to/fromB[]/A[]Iterable<A>to/fromStream<B>/Stream<A>A[]to/fromStream<B>/Stream<A>A[]to/fromB[]Stream<A>to/fromStream<B>
- Author:
- Gunnar Morling
-
-
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description StringdateFormatA format string as processable bySimpleDateFormatif the annotated method maps from an iterable ofStringto an iterableDateor vice-versa.Class<? extends Annotation>elementMappingControlAllows detailed control over the mapping process.Class<?>elementTargetTypeSpecifies the type of the element to be used in the result of the mapping method in case multiple mapping methods qualify.NullValueMappingStrategynullValueMappingStrategyThe strategy to be applied whennullis passed as source value to this iterable mapping.StringnumberFormatA format string as processable byDecimalFormatif the annotated method maps from aNumberto aStringor vice-versa.Class<? extends Annotation>[]qualifiedByA qualifier can be specified to aid the selection process of a suitable mapper.String[]qualifiedByNameString-based form of qualifiers; When looking for a suitable mapping method to map this iterable mapping method's element type, MapStruct will only consider those methods carrying directly or indirectly (i.e. on the class-level) aNamedannotation for each of the specified qualifier names.
-
-
-
Element Detail
-
dateFormat
String dateFormat
A format string as processable bySimpleDateFormatif the annotated method maps from an iterable ofStringto an iterableDateor vice-versa. Will be ignored for all other element types.- Returns:
- A date format string as processable by
SimpleDateFormat.
- Default:
- ""
-
-
-
numberFormat
String numberFormat
A format string as processable byDecimalFormatif the annotated method maps from aNumberto aStringor vice-versa. Will be ignored for all other element types.- Returns:
- A decimal format string as processable by
DecimalFormat.
- Default:
- ""
-
-
-
qualifiedBy
Class<? extends Annotation>[] qualifiedBy
A qualifier can be specified to aid the selection process of a suitable mapper. This is useful in case multiple mappers (hand written of internal) qualify and result in an 'Ambiguous mapping methods found' error. A qualifier is a custom annotation and can be placed on either a hand written mapper class or a method.- Returns:
- the qualifiers
- See Also:
Qualifier
- Default:
- {}
-
-
-
qualifiedByName
String[] qualifiedByName
String-based form of qualifiers; When looking for a suitable mapping method to map this iterable mapping method's element type, MapStruct will only consider those methods carrying directly or indirectly (i.e. on the class-level) aNamedannotation for each of the specified qualifier names.Note that annotation-based qualifiers are generally preferable as they allow more easily to find references and are safe for refactorings, but name-based qualifiers can be a less verbose alternative when requiring a large number of qualifiers as no custom annotation types are needed.
- Returns:
- One or more qualifier name(s)
- See Also:
qualifiedBy(),Named
- Default:
- {}
-
-
-
elementTargetType
Class<?> elementTargetType
Specifies the type of the element to be used in the result of the mapping method in case multiple mapping methods qualify.- Returns:
- the elementTargetType to select
- Default:
- void.class
-
-
-
nullValueMappingStrategy
NullValueMappingStrategy nullValueMappingStrategy
The strategy to be applied whennullis passed as source value to this iterable mapping. If no strategy is configured, the strategy given viaMapperConfig.nullValueMappingStrategy()orMapper.nullValueMappingStrategy()will be applied, usingNullValueMappingStrategy.RETURN_NULLby default.- Returns:
- The strategy to be applied when
nullis passed as source value to the methods of this mapping.
- Default:
- org.mapstruct.NullValueMappingStrategy.RETURN_NULL
-
-
-
elementMappingControl
Class<? extends Annotation> elementMappingControl
Allows detailed control over the mapping process.- Returns:
- the mapping control
- Since:
- 1.4
- See Also:
DeepClone,NoComplexMapping,MappingControl
- Default:
- org.mapstruct.control.MappingControl.class
-
-