RentalEquipmentJpaMapperImpl.java
package com.github.jenkaby.bikerental.rental.infrastructure.persistence.mapper;
import com.github.jenkaby.bikerental.rental.domain.model.RentalEquipment;
import com.github.jenkaby.bikerental.rental.infrastructure.persistence.entity.RentalEquipmentJpaEntity;
import com.github.jenkaby.bikerental.rental.shared.mapper.RentalEquipmentStatusMapper;
import com.github.jenkaby.bikerental.shared.mapper.MoneyMapper;
import javax.annotation.processing.Generated;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@Generated(
value = "org.mapstruct.ap.MappingProcessor",
comments = "version: 1.6.3, compiler: IncrementalProcessingEnvironment from gradle-language-java-9.4.1.jar, environment: Java 21.0.10 (Amazon.com Inc.)"
)
@Component
public class RentalEquipmentJpaMapperImpl implements RentalEquipmentJpaMapper {
private final MoneyMapper moneyMapper;
private final RentalEquipmentStatusMapper rentalEquipmentStatusMapper;
@Autowired
public RentalEquipmentJpaMapperImpl(MoneyMapper moneyMapper, RentalEquipmentStatusMapper rentalEquipmentStatusMapper) {
this.moneyMapper = moneyMapper;
this.rentalEquipmentStatusMapper = rentalEquipmentStatusMapper;
}
@Override
public RentalEquipment toDomain(RentalEquipmentJpaEntity entity) {
if ( entity == null ) {
return null;
}
RentalEquipment.RentalEquipmentBuilder rentalEquipment = RentalEquipment.builder();
rentalEquipment.equipmentType( entity.getEquipmentTypeSlug() );
rentalEquipment.id( entity.getId() );
rentalEquipment.equipmentId( entity.getEquipmentId() );
rentalEquipment.equipmentUid( entity.getEquipmentUid() );
rentalEquipment.status( rentalEquipmentStatusMapper.stringToStatus( entity.getStatus() ) );
rentalEquipment.startedAt( entity.getStartedAt() );
rentalEquipment.expectedReturnAt( entity.getExpectedReturnAt() );
rentalEquipment.actualReturnAt( entity.getActualReturnAt() );
rentalEquipment.tariffId( entity.getTariffId() );
rentalEquipment.estimatedCost( moneyMapper.toMoney( entity.getEstimatedCost() ) );
rentalEquipment.finalCost( moneyMapper.toMoney( entity.getFinalCost() ) );
return rentalEquipment.build();
}
@Override
public RentalEquipmentJpaEntity toEntity(RentalEquipment equipment) {
if ( equipment == null ) {
return null;
}
RentalEquipmentJpaEntity.RentalEquipmentJpaEntityBuilder rentalEquipmentJpaEntity = RentalEquipmentJpaEntity.builder();
rentalEquipmentJpaEntity.equipmentTypeSlug( equipment.getEquipmentType() );
rentalEquipmentJpaEntity.id( equipment.getId() );
rentalEquipmentJpaEntity.equipmentId( equipment.getEquipmentId() );
rentalEquipmentJpaEntity.equipmentUid( equipment.getEquipmentUid() );
rentalEquipmentJpaEntity.status( rentalEquipmentStatusMapper.statusToString( equipment.getStatus() ) );
rentalEquipmentJpaEntity.startedAt( equipment.getStartedAt() );
rentalEquipmentJpaEntity.expectedReturnAt( equipment.getExpectedReturnAt() );
rentalEquipmentJpaEntity.actualReturnAt( equipment.getActualReturnAt() );
rentalEquipmentJpaEntity.estimatedCost( moneyMapper.toBigDecimal( equipment.getEstimatedCost() ) );
rentalEquipmentJpaEntity.finalCost( moneyMapper.toBigDecimal( equipment.getFinalCost() ) );
rentalEquipmentJpaEntity.tariffId( equipment.getTariffId() );
return rentalEquipmentJpaEntity.build();
}
}