Package org.mapstruct
Annotation Type Named
-
@Target({TYPE,METHOD}) @Retention(CLASS) public @interface Named
Marks mapping methods with the given qualifier name. Can be used to qualify a single method or all methods of a given type by specifying this annotation on the type level.Will be used to select the correct mapping methods when mapping a bean property type, element of an iterable type or the key/value of a map type.
Example (both methods of
Titles
are capable to convert a string, but the ambiguity is resolved by applying the qualifiers in@Mapping
:@Named("TitleTranslator") public class Titles { @Named("EnglishToGerman") public String translateTitleEG(String title) { // some mapping logic } @Named("GermanToEnglish") public String translateTitleGE(String title) { // some mapping logic } } @Mapper( uses = Titles.class ) public interface MovieMapper { @Mapping( target = "title", qualifiedByName = { "TitleTranslator", "EnglishToGerman" } ) GermanRelease toGerman( OriginalRelease movies ); }
MovieMapper
will be generated:public class MovieMapperImpl implements MovieMapper { private final Titles titles = new Titles(); @Override public GermanRelease toGerman(OriginalRelease movies) { if ( movies == null ) { return null; } GermanRelease germanRelease = new GermanRelease(); germanRelease.setTitle( titles.translateTitleEG( movies.getTitle() ) ); return germanRelease; } }
- Author:
- Sjaak Derksen
- See Also:
Mapping.qualifiedByName()
,IterableMapping.qualifiedByName()
,MapMapping.keyQualifiedByName()
,MapMapping.valueQualifiedByName()
-
-
Element Detail
-
value
String value
A name qualifying the annotated element- Returns:
- the name.
-
-