001package co.codewizards.cloudstore.core.version; 002 003import static java.util.Objects.*; 004 005import co.codewizards.cloudstore.core.dto.VersionInfoDto; 006 007public class VersionCompatibilityException extends RuntimeException { 008 private static final long serialVersionUID = 1L; 009 010 private final VersionInfoDto clientVersionInfoDto; 011 private final VersionInfoDto serverVersionInfoDto; 012 013 public VersionCompatibilityException(final VersionInfoDto clientVersionInfoDto, final VersionInfoDto serverVersionInfoDto, String message) { 014 super(message); 015 this.clientVersionInfoDto = requireNonNull(clientVersionInfoDto, "clientVersionInfoDto"); 016 this.serverVersionInfoDto = requireNonNull(serverVersionInfoDto, "serverVersionInfoDto"); 017 018 requireNonNull(clientVersionInfoDto.getLocalVersion(), "clientVersionInfoDto.localVersion"); 019 requireNonNull(clientVersionInfoDto.getMinimumRemoteVersion(), "clientVersionInfoDto.minimumRemoteVersion"); 020 021 requireNonNull(serverVersionInfoDto.getLocalVersion(), "serverVersionInfoDto.localVersion"); 022 requireNonNull(serverVersionInfoDto.getMinimumRemoteVersion(), "serverVersionInfoDto.minimumRemoteVersion"); 023 } 024 025 public VersionInfoDto getClientVersionInfoDto() { 026 return clientVersionInfoDto; 027 } 028 public VersionInfoDto getServerVersionInfoDto() { 029 return serverVersionInfoDto; 030 } 031}