EquipmentStatusCommandToDomainMapperImpl.java

package com.github.jenkaby.bikerental.equipment.application.mapper;

import com.github.jenkaby.bikerental.equipment.application.usecase.CreateEquipmentStatusUseCase;
import com.github.jenkaby.bikerental.equipment.application.usecase.UpdateEquipmentStatusUseCase;
import com.github.jenkaby.bikerental.equipment.domain.model.EquipmentStatus;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.annotation.processing.Generated;
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 EquipmentStatusCommandToDomainMapperImpl implements EquipmentStatusCommandToDomainMapper {

    @Override
    public EquipmentStatus toEquipmentStatus(CreateEquipmentStatusUseCase.CreateEquipmentStatusCommand command) {
        if ( command == null ) {
            return null;
        }

        EquipmentStatus.EquipmentStatusBuilder equipmentStatus = EquipmentStatus.builder();

        equipmentStatus.slug( command.slug() );
        equipmentStatus.name( command.name() );
        equipmentStatus.description( command.description() );
        Set<String> set = command.allowedTransitions();
        if ( set != null ) {
            equipmentStatus.allowedTransitions( new LinkedHashSet<String>( set ) );
        }

        return equipmentStatus.build();
    }

    @Override
    public EquipmentStatus toEquipmentStatus(Long id, UpdateEquipmentStatusUseCase.UpdateEquipmentStatusCommand command) {
        if ( id == null && command == null ) {
            return null;
        }

        EquipmentStatus.EquipmentStatusBuilder equipmentStatus = EquipmentStatus.builder();

        if ( command != null ) {
            equipmentStatus.slug( command.slug() );
            equipmentStatus.name( command.name() );
            equipmentStatus.description( command.description() );
            Set<String> set = command.allowedTransitions();
            if ( set != null ) {
                equipmentStatus.allowedTransitions( new LinkedHashSet<String>( set ) );
            }
        }
        equipmentStatus.id( id );

        return equipmentStatus.build();
    }
}