Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sjaakd/b925f2ecb6c5a8116debb97f3fb31c1d to your computer and use it in GitHub Desktop.
Save sjaakd/b925f2ecb6c5a8116debb97f3fb31c1d to your computer and use it in GitHub Desktop.
example
package mapstruct.ex;
import org.mapstruct.*;
import java.util.List;
import java.util.Optional;
import java.util.Set;
@Mapper
public interface IvpVodDtoMapperService {
@Mappings({
@Mapping(source = "programInstance", target = "seasonNumber", qualifiedByName = "getSeasonNumber"),
@Mapping(source = "programInstance", target = "episodeNumber", qualifiedByName = "getEpisodeNumber" )
})
IvpVodOfferStatusDTO macIvpVodOfferToIvpVodOfferUiDto(OnDemand offerStatusDTO);
@Named("getTitle")
default String mapTitle(Program programInstance) {
return null;
}
@Named("getSeriesName")
default String mapSeriesName(Program programInstance) {
return null;
}
@Named("getSeasonNumber")
default Integer mapSeasonNumber(Program programInstance) {
return null;
}
@Named("getEpisodeNumber")
default Integer mapEpisodeNumber(Program programInstance) {
return null;
}
}
package mapstruct.ex;
public class IvpVodOfferStatusDTO {
private Integer seasonNumber;
private Integer episodeNumber;
public Integer getSeasonNumber() {
return seasonNumber;
}
public void setSeasonNumber(Integer seasonNumber) {
this.seasonNumber = seasonNumber;
}
public Integer getEpisodeNumber() {
return episodeNumber;
}
public void setEpisodeNumber(Integer episodeNumber) {
this.episodeNumber = episodeNumber;
}
}
package mapstruct.ex;
public class OnDemand {
private Program programInstance;
public Program getProgramInstance() {
return programInstance;
}
public void setProgramInstance(Program programInstance) {
this.programInstance = programInstance;
}
}
package mapstruct.ex;
public class Program {
}
@sjaakd
Copy link
Author

sjaakd commented Feb 12, 2019

generated code:

package mapstruct.ex;

import javax.annotation.Generated;

@Generated(
    value = "org.mapstruct.ap.MappingProcessor",
    date = "2019-02-12T21:59:34+0100",
    comments = "version: 1.4.0-SNAPSHOT, compiler: javac, environment: Java 1.8.0_181 (Oracle Corporation)"
)
public class IvpVodDtoMapperServiceImpl implements IvpVodDtoMapperService {

    @Override
    public IvpVodOfferStatusDTO macIvpVodOfferToIvpVodOfferUiDto(OnDemand offerStatusDTO) {
        if ( offerStatusDTO == null ) {
            return null;
        }

        IvpVodOfferStatusDTO ivpVodOfferStatusDTO = new IvpVodOfferStatusDTO();

        ivpVodOfferStatusDTO.setEpisodeNumber( mapEpisodeNumber( offerStatusDTO.getProgramInstance() ) );
        ivpVodOfferStatusDTO.setSeasonNumber( mapSeasonNumber( offerStatusDTO.getProgramInstance() ) );

        return ivpVodOfferStatusDTO;
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment