package jp.co.worksap.workspace.wasinstall; import java.net.MalformedURLException; import java.net.URL; import java.util.Collections; import java.util.List; import javax.annotation.Nonnull; import javax.annotation.Nullable; import jp.co.worksap.workspace.common.UrlCreator; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.Setter; @Data @Setter(AccessLevel.PRIVATE) @NoArgsConstructor @AllArgsConstructor public class WASInstallConfiguration { private String installLocation; private String downloadURL; @Nullable private String updateInstallerDownloadURL; @Nullable private List<UpdatePackage> updatePackages; @Nonnull public List<UpdatePackage> getUpdatePackages() { if (updatePackages == null) { return Collections.emptyList(); } return Collections.unmodifiableList(updatePackages); } @Nonnull URL getUrlToDownload() { try { return new UrlCreator().createFrom(downloadURL); } catch (MalformedURLException e) { throw new IllegalStateException(e); } } @Nonnull URL getUpdateInstallerUrlToDownload() { try { return new UrlCreator().createFrom(updateInstallerDownloadURL); } catch (MalformedURLException e) { throw new IllegalStateException(e); } } }