/* * Copyright 2010-2023 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.chimesdkmessaging.model; import java.io.Serializable; /** *

* The target of a message, a sender, a user, or a bot. Only the target and the * sender can view targeted messages. Only users who can see targeted messages * can take actions on them. However, administrators can delete targeted * messages that they can’t see. *

*/ public class Target implements Serializable { /** *

* The ARN of the target channel member. *

*

* Constraints:
* Length: 5 - 1600
* Pattern: * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}: * [a-z0-9-\.]{0,63}:[^/].{0,1023}
*/ private String memberArn; /** *

* The ARN of the target channel member. *

*

* Constraints:
* Length: 5 - 1600
* Pattern: * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}: * [a-z0-9-\.]{0,63}:[^/].{0,1023}
* * @return

* The ARN of the target channel member. *

*/ public String getMemberArn() { return memberArn; } /** *

* The ARN of the target channel member. *

*

* Constraints:
* Length: 5 - 1600
* Pattern: * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}: * [a-z0-9-\.]{0,63}:[^/].{0,1023}
* * @param memberArn

* The ARN of the target channel member. *

*/ public void setMemberArn(String memberArn) { this.memberArn = memberArn; } /** *

* The ARN of the target channel member. *

*

* Returns a reference to this object so that method calls can be chained * together. *

* Constraints:
* Length: 5 - 1600
* Pattern: * arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}: * [a-z0-9-\.]{0,63}:[^/].{0,1023}
* * @param memberArn

* The ARN of the target channel member. *

* @return A reference to this updated object so that method calls can be * chained together. */ public Target withMemberArn(String memberArn) { this.memberArn = memberArn; return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getMemberArn() != null) sb.append("MemberArn: " + getMemberArn()); sb.append("}"); return sb.toString(); } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getMemberArn() == null) ? 0 : getMemberArn().hashCode()); return hashCode; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof Target == false) return false; Target other = (Target) obj; if (other.getMemberArn() == null ^ this.getMemberArn() == null) return false; if (other.getMemberArn() != null && other.getMemberArn().equals(this.getMemberArn()) == false) return false; return true; } }