Не проверено предупреждение о назначении для возвращения базового класса - PullRequest
0 голосов
/ 12 октября 2018
public interface EntityConverter<F, T> {
    T convert(F from, T to);
}


@Service
public class MemberConverter implements EntityConverter<MemberDto, Member> {

    @Override
    public Member convert(MemberDto from, Member to) {
        Objects.requireNonNull(from);
        Objects.requireNonNull(to);

        to.MemberId(from.getMemberId());
        to.setLastJoinDt(from.getLastJoinDt());
        .
        .
        .

        return to;
    }
}

@Slf4j
@Service
public class EntityConverterFactory<C extends EntityConverter<F, T>, F, T> {
    @Autowired
    Map<String, EntityConverter<F, T>> converters;

    public EntityConverter<F, T> build(Class<C> clazz) {

        String name = clazz.getSimpleName().substring(0, 1).toLowerCase() + clazz.getSimpleName().substring(1);;
        return converters.get(name);;
    }
}

В этом случае
Ниже кода предупреждения Не проверено назначение.
Как можно избежать этого предупреждения?

@Autowired
private EntityConverterFactory entityConverterFactory;

.
.

EntityConverter<MemberDto, Member> converter = entityConverterFactory.build(MemberConverter.class);
...