001package co.codewizards.cloudstore.core.repo.sync; 002 003import static java.util.Objects.*; 004 005import java.net.URL; 006import java.util.Date; 007import java.util.UUID; 008 009import co.codewizards.cloudstore.core.Severity; 010import co.codewizards.cloudstore.core.dto.Error; 011import co.codewizards.cloudstore.core.oio.File; 012import co.codewizards.cloudstore.core.sync.SyncState; 013 014@SuppressWarnings("serial") 015public class RepoSyncState extends SyncState { 016 017 private final UUID localRepositoryId; 018 private final UUID serverRepositoryId; 019 private final File localRoot; 020 021 public RepoSyncState(UUID localRepositoryId, UUID serverRepositoryId, File localRoot, URL url, Severity severity, String message, Error error, Date syncStarted, Date syncFinished) { 022 super(url, severity, message, error, syncStarted, syncFinished); 023 this.localRepositoryId = requireNonNull(localRepositoryId, "localRepositoryId"); 024 this.serverRepositoryId = requireNonNull(serverRepositoryId, "serverRepositoryId"); 025 this.localRoot = requireNonNull(localRoot, "localRoot"); 026 } 027 028 public UUID getLocalRepositoryId() { 029 return localRepositoryId; 030 } 031 032 public UUID getServerRepositoryId() { 033 return serverRepositoryId; 034 } 035 036 public File getLocalRoot() { 037 return localRoot; 038 } 039}