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

com.amazonaws.services.chimesdkmeetings.model.Attendee Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Chime SDK Meetings module holds the client classes that are used for communicating with Amazon Chime SDK Meetings Service

The newest version!
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.chimesdkmeetings.model;

import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;

/**
 * 

* An Amazon Chime SDK meeting attendee. Includes a unique AttendeeId and JoinToken. The * JoinToken allows a client to authenticate and join as the specified attendee. The JoinToken * expires when the meeting ends, or when DeleteAttendee is called. After that, the attendee is unable to join * the meeting. *

*

* We recommend securely transferring each JoinToken from your server application to the client so that no * other client has access to the token except for the one authorized to represent the attendee. *

* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Attendee implements Serializable, Cloneable, StructuredPojo { /** *

* The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a * builder application. *

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case * insensitive. *

*/ private String externalUserId; /** *

* The Amazon Chime SDK attendee ID. *

*/ private String attendeeId; /** *

* The join token used by the Amazon Chime SDK attendee. *

*/ private String joinToken; /** *

* The capabilities assigned to an attendee: audio, video, or content. *

* *

* You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

*
*

* When using capabilities, be aware of these corner cases: *

*
    *
  • *

    * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API requests * that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

    *
  • *
  • *

    * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

    *
  • *
  • *

    * You can't set content capabilities to SendReceive or Receive unless you * also set video capabilities to SendReceive or Receive. If you don't set * the video capability to receive, the response will contain an HTTP 400 Bad Request status code. * However, you can set your video capability to receive and you set your content * capability to not receive. *

    *
  • *
  • *

    * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio will * flow from the attendee to the other meeting participants. *

    *
  • *
  • *

    * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on their video * or content streams, remote attendees can receive those streams, but only after media renegotiation between the * client and the Amazon Chime back-end server. *

    *
  • *
*/ private AttendeeCapabilities capabilities; /** *

* The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a * builder application. *

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case * insensitive. *

* * @param externalUserId * The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by * a builder application.

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. * Case insensitive. */ public void setExternalUserId(String externalUserId) { this.externalUserId = externalUserId; } /** *

* The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a * builder application. *

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case * insensitive. *

* * @return The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by * a builder application.

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. * Case insensitive. */ public String getExternalUserId() { return this.externalUserId; } /** *

* The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by a * builder application. *

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. Case * insensitive. *

* * @param externalUserId * The Amazon Chime SDK external user ID. An idempotency token. Links the attendee to an identity managed by * a builder application.

*

* Pattern: [-_&@+=,(){}\[\]\/«».:|'"#a-zA-Z0-9À-ÿ\s]* *

*

* Values that begin with aws: are reserved. You can't configure a value that uses this prefix. * Case insensitive. * @return Returns a reference to this object so that method calls can be chained together. */ public Attendee withExternalUserId(String externalUserId) { setExternalUserId(externalUserId); return this; } /** *

* The Amazon Chime SDK attendee ID. *

* * @param attendeeId * The Amazon Chime SDK attendee ID. */ public void setAttendeeId(String attendeeId) { this.attendeeId = attendeeId; } /** *

* The Amazon Chime SDK attendee ID. *

* * @return The Amazon Chime SDK attendee ID. */ public String getAttendeeId() { return this.attendeeId; } /** *

* The Amazon Chime SDK attendee ID. *

* * @param attendeeId * The Amazon Chime SDK attendee ID. * @return Returns a reference to this object so that method calls can be chained together. */ public Attendee withAttendeeId(String attendeeId) { setAttendeeId(attendeeId); return this; } /** *

* The join token used by the Amazon Chime SDK attendee. *

* * @param joinToken * The join token used by the Amazon Chime SDK attendee. */ public void setJoinToken(String joinToken) { this.joinToken = joinToken; } /** *

* The join token used by the Amazon Chime SDK attendee. *

* * @return The join token used by the Amazon Chime SDK attendee. */ public String getJoinToken() { return this.joinToken; } /** *

* The join token used by the Amazon Chime SDK attendee. *

* * @param joinToken * The join token used by the Amazon Chime SDK attendee. * @return Returns a reference to this object so that method calls can be chained together. */ public Attendee withJoinToken(String joinToken) { setJoinToken(joinToken); return this; } /** *

* The capabilities assigned to an attendee: audio, video, or content. *

* *

* You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

*
*

* When using capabilities, be aware of these corner cases: *

*
    *
  • *

    * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API requests * that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

    *
  • *
  • *

    * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

    *
  • *
  • *

    * You can't set content capabilities to SendReceive or Receive unless you * also set video capabilities to SendReceive or Receive. If you don't set * the video capability to receive, the response will contain an HTTP 400 Bad Request status code. * However, you can set your video capability to receive and you set your content * capability to not receive. *

    *
  • *
  • *

    * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio will * flow from the attendee to the other meeting participants. *

    *
  • *
  • *

    * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on their video * or content streams, remote attendees can receive those streams, but only after media renegotiation between the * client and the Amazon Chime back-end server. *

    *
  • *
* * @param capabilities * The capabilities assigned to an attendee: audio, video, or content.

*

* You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

*
*

* When using capabilities, be aware of these corner cases: *

*
    *
  • *

    * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

    *
  • *
  • *

    * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

    *
  • *
  • *

    * You can't set content capabilities to SendReceive or Receive unless * you also set video capabilities to SendReceive or Receive. If you * don't set the video capability to receive, the response will contain an HTTP 400 Bad Request * status code. However, you can set your video capability to receive and you set your * content capability to not receive. *

    *
  • *
  • *

    * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio * will flow from the attendee to the other meeting participants. *

    *
  • *
  • *

    * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on * their video or content streams, remote attendees can receive those streams, but only after media * renegotiation between the client and the Amazon Chime back-end server. *

    *
  • */ public void setCapabilities(AttendeeCapabilities capabilities) { this.capabilities = capabilities; } /** *

    * The capabilities assigned to an attendee: audio, video, or content. *

    * *

    * You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

    *
    *

    * When using capabilities, be aware of these corner cases: *

    *
      *
    • *

      * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API requests * that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

      *
    • *
    • *

      * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

      *
    • *
    • *

      * You can't set content capabilities to SendReceive or Receive unless you * also set video capabilities to SendReceive or Receive. If you don't set * the video capability to receive, the response will contain an HTTP 400 Bad Request status code. * However, you can set your video capability to receive and you set your content * capability to not receive. *

      *
    • *
    • *

      * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio will * flow from the attendee to the other meeting participants. *

      *
    • *
    • *

      * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on their video * or content streams, remote attendees can receive those streams, but only after media renegotiation between the * client and the Amazon Chime back-end server. *

      *
    • *
    * * @return The capabilities assigned to an attendee: audio, video, or content.

    *

    * You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

    *
    *

    * When using capabilities, be aware of these corner cases: *

    *
      *
    • *

      * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

      *
    • *
    • *

      * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

      *
    • *
    • *

      * You can't set content capabilities to SendReceive or Receive * unless you also set video capabilities to SendReceive or Receive. * If you don't set the video capability to receive, the response will contain an HTTP 400 Bad * Request status code. However, you can set your video capability to receive and you set your * content capability to not receive. *

      *
    • *
    • *

      * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio * will flow from the attendee to the other meeting participants. *

      *
    • *
    • *

      * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on * their video or content streams, remote attendees can receive those streams, but only after media * renegotiation between the client and the Amazon Chime back-end server. *

      *
    • */ public AttendeeCapabilities getCapabilities() { return this.capabilities; } /** *

      * The capabilities assigned to an attendee: audio, video, or content. *

      * *

      * You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

      *
      *

      * When using capabilities, be aware of these corner cases: *

      *
        *
      • *

        * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API requests * that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

        *
      • *
      • *

        * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

        *
      • *
      • *

        * You can't set content capabilities to SendReceive or Receive unless you * also set video capabilities to SendReceive or Receive. If you don't set * the video capability to receive, the response will contain an HTTP 400 Bad Request status code. * However, you can set your video capability to receive and you set your content * capability to not receive. *

        *
      • *
      • *

        * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio will * flow from the attendee to the other meeting participants. *

        *
      • *
      • *

        * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on their video * or content streams, remote attendees can receive those streams, but only after media renegotiation between the * client and the Amazon Chime back-end server. *

        *
      • *
      * * @param capabilities * The capabilities assigned to an attendee: audio, video, or content.

      *

      * You use the capabilities with a set of values that control what the capabilities can do, such as * SendReceive data. For more information about those values, see . *

      *
      *

      * When using capabilities, be aware of these corner cases: *

      *
        *
      • *

        * If you specify MeetingFeatures:Video:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Video will be rejected with ValidationError 400. *

        *
      • *
      • *

        * If you specify MeetingFeatures:Content:MaxResolution:None when you create a meeting, all API * requests that include SendReceive, Send, or Receive for * AttendeeCapabilities:Content will be rejected with ValidationError 400. *

        *
      • *
      • *

        * You can't set content capabilities to SendReceive or Receive unless * you also set video capabilities to SendReceive or Receive. If you * don't set the video capability to receive, the response will contain an HTTP 400 Bad Request * status code. However, you can set your video capability to receive and you set your * content capability to not receive. *

        *
      • *
      • *

        * When you change an audio capability from None or Receive to * Send or SendReceive , and if the attendee left their microphone unmuted, audio * will flow from the attendee to the other meeting participants. *

        *
      • *
      • *

        * When you change a video or content capability from None or * Receive to Send or SendReceive , and if the attendee turned on * their video or content streams, remote attendees can receive those streams, but only after media * renegotiation between the client and the Amazon Chime back-end server. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. */ public Attendee withCapabilities(AttendeeCapabilities capabilities) { setCapabilities(capabilities); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getExternalUserId() != null) sb.append("ExternalUserId: ").append("***Sensitive Data Redacted***").append(","); if (getAttendeeId() != null) sb.append("AttendeeId: ").append(getAttendeeId()).append(","); if (getJoinToken() != null) sb.append("JoinToken: ").append("***Sensitive Data Redacted***").append(","); if (getCapabilities() != null) sb.append("Capabilities: ").append(getCapabilities()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Attendee == false) return false; Attendee other = (Attendee) obj; if (other.getExternalUserId() == null ^ this.getExternalUserId() == null) return false; if (other.getExternalUserId() != null && other.getExternalUserId().equals(this.getExternalUserId()) == false) return false; if (other.getAttendeeId() == null ^ this.getAttendeeId() == null) return false; if (other.getAttendeeId() != null && other.getAttendeeId().equals(this.getAttendeeId()) == false) return false; if (other.getJoinToken() == null ^ this.getJoinToken() == null) return false; if (other.getJoinToken() != null && other.getJoinToken().equals(this.getJoinToken()) == false) return false; if (other.getCapabilities() == null ^ this.getCapabilities() == null) return false; if (other.getCapabilities() != null && other.getCapabilities().equals(this.getCapabilities()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getExternalUserId() == null) ? 0 : getExternalUserId().hashCode()); hashCode = prime * hashCode + ((getAttendeeId() == null) ? 0 : getAttendeeId().hashCode()); hashCode = prime * hashCode + ((getJoinToken() == null) ? 0 : getJoinToken().hashCode()); hashCode = prime * hashCode + ((getCapabilities() == null) ? 0 : getCapabilities().hashCode()); return hashCode; } @Override public Attendee clone() { try { return (Attendee) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.chimesdkmeetings.model.transform.AttendeeMarshaller.getInstance().marshall(this, protocolMarshaller); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy