All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gooddata.project.CreatedInvitations Maven / Gradle / Ivy

/*
 * Copyright (C) 2004-2017, GoodData(R) Corporation. All rights reserved.
 * This source code is licensed under the BSD-style license found in the
 * LICENSE.txt file in the root directory of this source tree.
 */
package com.gooddata.project;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.gooddata.util.GoodDataToStringBuilder;

import java.util.Collections;
import java.util.List;

/**
 * Created invitations
 */
@JsonTypeName("createdInvitations")
@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
@JsonIgnoreProperties(ignoreUnknown = true)
public class CreatedInvitations {

    private final List invitationUris;
    private final List domainMismatchEmails;
    private final List alreadyInProjectEmails;

    @JsonCreator
    private CreatedInvitations(@JsonProperty("uri") List invitationUris,
                               @JsonProperty("loginsDomainMismatch") List domainMismatchEmails,
                               @JsonProperty("loginsAlreadyInProject") List alreadyInProjectEmails) {
        this.invitationUris = invitationUris != null ? invitationUris : Collections.emptyList();
        this.domainMismatchEmails = domainMismatchEmails != null ? domainMismatchEmails : Collections.emptyList();
        this.alreadyInProjectEmails = alreadyInProjectEmails != null ? alreadyInProjectEmails : Collections.emptyList();
    }

    /**
     * List of successful invitations
     * @return list of URIs (never null)
     */
    public List getInvitationUris() {
        return invitationUris;
    }

    /**
     * List of emails which can't be invited to the project because their users belongs to a different domain
     * @return list of emails (never null)
     */
    public List getDomainMismatchEmails() {
        return domainMismatchEmails;
    }

    /**
     * List of emails which can't be invited to the project because they are already members of the project
     * @return list of emails (never null)
     */
    public List getAlreadyInProjectEmails() {
        return alreadyInProjectEmails;
    }

    @Override
    public String toString() {
        return GoodDataToStringBuilder.defaultToString(this);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy