EquipmentJpaMapperImpl.java

package com.github.jenkaby.bikerental.equipment.infrastructure.persistence.mapper;

import com.github.jenkaby.bikerental.equipment.domain.model.Equipment;
import com.github.jenkaby.bikerental.equipment.infrastructure.persistence.entity.EquipmentJpaEntity;
import com.github.jenkaby.bikerental.equipment.shared.mapper.SerialNumberMapper;
import com.github.jenkaby.bikerental.equipment.shared.mapper.UidMapper;
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 EquipmentJpaMapperImpl implements EquipmentJpaMapper {

    private final SerialNumberMapper serialNumberMapper;
    private final UidMapper uidMapper;

    @Autowired
    public EquipmentJpaMapperImpl(SerialNumberMapper serialNumberMapper, UidMapper uidMapper) {

        this.serialNumberMapper = serialNumberMapper;
        this.uidMapper = uidMapper;
    }

    @Override
    public Equipment toDomain(EquipmentJpaEntity entity) {
        if ( entity == null ) {
            return null;
        }

        Equipment.EquipmentBuilder equipment = Equipment.builder();

        equipment.id( entity.getId() );
        equipment.serialNumber( serialNumberMapper.toSerialNumber( entity.getSerialNumber() ) );
        equipment.uid( uidMapper.toUid( entity.getUid() ) );
        equipment.typeSlug( entity.getTypeSlug() );
        equipment.statusSlug( entity.getStatusSlug() );
        equipment.model( entity.getModel() );
        equipment.commissionedAt( entity.getCommissionedAt() );
        equipment.condition( entity.getCondition() );

        return equipment.build();
    }

    @Override
    public EquipmentJpaEntity toEntity(Equipment equipment) {
        if ( equipment == null ) {
            return null;
        }

        EquipmentJpaEntity equipmentJpaEntity = new EquipmentJpaEntity();

        equipmentJpaEntity.setId( equipment.getId() );
        equipmentJpaEntity.setSerialNumber( serialNumberMapper.toString( equipment.getSerialNumber() ) );
        equipmentJpaEntity.setUid( uidMapper.toString( equipment.getUid() ) );
        equipmentJpaEntity.setTypeSlug( equipment.getTypeSlug() );
        equipmentJpaEntity.setStatusSlug( equipment.getStatusSlug() );
        equipmentJpaEntity.setModel( equipment.getModel() );
        equipmentJpaEntity.setCommissionedAt( equipment.getCommissionedAt() );
        equipmentJpaEntity.setCondition( equipment.getCondition() );

        return equipmentJpaEntity;
    }
}