001package co.codewizards.cloudstore.rest.server.auth; 002 003import static java.util.Objects.*; 004 005import java.util.UUID; 006 007import co.codewizards.cloudstore.core.auth.AuthToken; 008 009public class TransientRepoPassword { 010 011 private final UUID serverRepositoryId; 012 private final UUID clientRepositoryId; 013 private final AuthToken authToken; 014 private final char[] password; 015 016 protected TransientRepoPassword(final UUID serverRepositoryId, final UUID clientRepositoryId, final AuthToken authToken) { 017 this.serverRepositoryId = requireNonNull(serverRepositoryId, "serverRepositoryId"); 018 this.clientRepositoryId = requireNonNull(clientRepositoryId, "clientRepositoryId"); 019 this.authToken = requireNonNull(authToken, "authToken"); 020 authToken.makeUnmodifiable(); 021 requireNonNull(authToken.getExpiryDateTime(), "authToken.expiryDateTime"); 022 requireNonNull(authToken.getPassword(), "authToken.password"); 023 this.password = authToken.getPassword().toCharArray(); 024 } 025 026 public UUID getServerRepositoryId() { 027 return serverRepositoryId; 028 } 029 public UUID getClientRepositoryId() { 030 return clientRepositoryId; 031 } 032 public AuthToken getAuthToken() { 033 return authToken; 034 } 035 public char[] getPassword() { 036 return password; 037 } 038}