package com.kryptnostic.directory.v1;
import java.util.SortedMap;
import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.collect.ImmutableSortedMap;
import com.kryptnostic.directory.v1.principal.User;
public class ContactDiscoveryResponse {
public static final String EMAIL_RESULTS_FIELD = "emailResults";
public static final String USERNAME_RESULTS_FIELD = "usernameResults";
public static final String NAME_RESULTS_FIELD = "nameResults";
private final SortedMap<Integer, SortedMap<UUID, User>> emailResults;
private final SortedMap<Integer, SortedMap<UUID, User>> usernameResults;
private final SortedMap<Integer, SortedMap<UUID, User>> nameResults;
@JsonCreator
public ContactDiscoveryResponse(
@JsonProperty( EMAIL_RESULTS_FIELD ) SortedMap<Integer, SortedMap<UUID, User>> emailResults,
@JsonProperty( USERNAME_RESULTS_FIELD ) SortedMap<Integer, SortedMap<UUID, User>> usernameResults,
@JsonProperty( NAME_RESULTS_FIELD ) SortedMap<Integer, SortedMap<UUID, User>> nameResults ) {
this.emailResults = emailResults;
this.usernameResults = usernameResults;
this.nameResults = nameResults;
}
@JsonProperty( EMAIL_RESULTS_FIELD )
public SortedMap<Integer, SortedMap<UUID, User>> getEmailResults() {
return emailResults;
}
@JsonProperty( USERNAME_RESULTS_FIELD )
public SortedMap<Integer, SortedMap<UUID, User>> getUsernameResults() {
return usernameResults;
}
@JsonProperty( NAME_RESULTS_FIELD )
public SortedMap<Integer, SortedMap<UUID, User>> getNameResults() {
return nameResults;
}
public static ContactDiscoveryResponse noResults() {
return new ContactDiscoveryResponse(
ImmutableSortedMap.<Integer, SortedMap<UUID, User>> of(),
ImmutableSortedMap.<Integer, SortedMap<UUID, User>> of(),
ImmutableSortedMap.<Integer, SortedMap<UUID, User>> of() );
}
}