Class EndpointRequest

java.lang.Object
software.amazon.awssdk.services.pinpoint.model.EndpointRequest
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<EndpointRequest.Builder,EndpointRequest>

@Generated("software.amazon.awssdk:codegen") public final class EndpointRequest extends Object implements SdkPojo, Serializable, ToCopyableBuilder<EndpointRequest.Builder,EndpointRequest>

Specifies the channel type and other settings for an endpoint.

See Also:
  • Method Details

    • address

      public final String address()

      The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.

      Returns:
      The destination address for messages or push notifications that you send to the endpoint. The address varies by channel. For a push-notification channel, use the token provided by the push notification service, such as an Apple Push Notification service (APNs) device token or a Firebase Cloud Messaging (FCM) registration token. For the SMS channel, use a phone number in E.164 format, such as +12065550100. For the email channel, use an email address.
    • hasAttributes

      public final boolean hasAttributes()
      For responses, this returns true if the service returned a value for the Attributes property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • attributes

      public final Map<String,List<String>> attributes()

      One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

      An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAttributes() method.

      Returns:
      One or more custom attributes that describe the endpoint by associating a name with an array of values. For example, the value of a custom attribute named Interests might be: ["Science", "Music", "Travel"]. You can use these attributes as filter criteria when you create segments. Attribute names are case sensitive.

      An attribute name can contain up to 50 characters. An attribute value can contain up to 100 characters. When you define the name of a custom attribute, avoid using the following characters: number sign (#), colon (:), question mark (?), backslash (\), and slash (/). The Amazon Pinpoint console can't display attribute names that contain these characters. This restriction doesn't apply to attribute values.

    • channelType

      public final ChannelType channelType()

      The channel to use when sending messages or push notifications to the endpoint.

      If the service returns an enum value that is not available in the current SDK version, channelType will return ChannelType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from channelTypeAsString().

      Returns:
      The channel to use when sending messages or push notifications to the endpoint.
      See Also:
    • channelTypeAsString

      public final String channelTypeAsString()

      The channel to use when sending messages or push notifications to the endpoint.

      If the service returns an enum value that is not available in the current SDK version, channelType will return ChannelType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from channelTypeAsString().

      Returns:
      The channel to use when sending messages or push notifications to the endpoint.
      See Also:
    • demographic

      public final EndpointDemographic demographic()

      The demographic information for the endpoint, such as the time zone and platform.

      Returns:
      The demographic information for the endpoint, such as the time zone and platform.
    • effectiveDate

      public final String effectiveDate()

      The date and time, in ISO 8601 format, when the endpoint is updated.

      Returns:
      The date and time, in ISO 8601 format, when the endpoint is updated.
    • endpointStatus

      public final String endpointStatus()

      Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

      Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

      Returns:
      Specifies whether to send messages or push notifications to the endpoint. Valid values are: ACTIVE, messages are sent to the endpoint; and, INACTIVE, messages aren’t sent to the endpoint.

      Amazon Pinpoint automatically sets this value to ACTIVE when you create an endpoint or update an existing endpoint. Amazon Pinpoint automatically sets this value to INACTIVE if you update another endpoint that has the same address specified by the Address property.

    • location

      public final EndpointLocation location()

      The geographic information for the endpoint.

      Returns:
      The geographic information for the endpoint.
    • hasMetrics

      public final boolean hasMetrics()
      For responses, this returns true if the service returned a value for the Metrics property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • metrics

      public final Map<String,Double> metrics()

      One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasMetrics() method.

      Returns:
      One or more custom metrics that your app reports to Amazon Pinpoint for the endpoint.
    • optOut

      public final String optOut()

      Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.

      Returns:
      Specifies whether the user who's associated with the endpoint has opted out of receiving messages and push notifications from you. Possible values are: ALL, the user has opted out and doesn't want to receive any messages or push notifications; and, NONE, the user hasn't opted out and wants to receive all messages and push notifications.
    • requestId

      public final String requestId()

      The unique identifier for the most recent request to update the endpoint.

      Returns:
      The unique identifier for the most recent request to update the endpoint.
    • user

      public final EndpointUser user()

      One or more custom attributes that describe the user who's associated with the endpoint.

      Returns:
      One or more custom attributes that describe the user who's associated with the endpoint.
    • toBuilder

      public EndpointRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<EndpointRequest.Builder,EndpointRequest>
      Returns:
      a builder for type T
    • builder

      public static EndpointRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends EndpointRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      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.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.