001/* 002 * Copyright 2020 Vonage 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package com.vonage.client.voice; 017 018import com.fasterxml.jackson.annotation.JsonInclude; 019import org.apache.commons.lang3.builder.EqualsBuilder; 020import org.apache.commons.lang3.builder.HashCodeBuilder; 021 022@JsonInclude(value = JsonInclude.Include.NON_NULL) 023public class PhoneEndpoint implements Endpoint { 024 private String type = "phone"; 025 private String number; 026 private String dtmfAnswer = null; 027 028 public PhoneEndpoint() { 029 } 030 031 public PhoneEndpoint(String number) { 032 this.number = number; 033 } 034 035 public PhoneEndpoint(String number, String dtmfAnswer) { 036 this.number = number; 037 this.dtmfAnswer = dtmfAnswer; 038 } 039 040 @Override 041 public String getType() { 042 return type; 043 } 044 045 @Override 046 public String toLog() { 047 return number; 048 } 049 050 public String getNumber() { 051 return number; 052 } 053 054 public void setNumber(String number) { 055 this.number = number; 056 } 057 058 public String getDtmfAnswer() { 059 return dtmfAnswer; 060 } 061 062 public void setDtmfAnswer(String dtmfAnswer) { 063 this.dtmfAnswer = dtmfAnswer; 064 } 065 066 @Override 067 public boolean equals(Object obj) { 068 if (obj == null) { 069 return false; 070 } 071 if (obj == this) { 072 return true; 073 } 074 if (obj.getClass() != getClass()) { 075 return false; 076 } 077 PhoneEndpoint rhs = (PhoneEndpoint) obj; 078 return new EqualsBuilder() 079 .append(this.type, rhs.type) 080 .append(this.number, rhs.number) 081 .append(this.dtmfAnswer, rhs.dtmfAnswer) 082 .isEquals(); 083 } 084 085 @Override 086 public int hashCode() { 087 return new HashCodeBuilder(277, 11) 088 .append(this.type) 089 .append(this.number) 090 .append(this.dtmfAnswer) 091 .toHashCode(); 092 } 093}