1 /*
2  * Copyright (C) 2009 Google Inc.  All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.polo.pairing.message;
18 
19 /**
20  * Object implementing the internal representation of the protocol message
21  * 'PAIRING_REQUEST'.
22  */
23 public class PairingRequestMessage extends PoloMessage {
24 
25   /**
26    * The service name being requested for pairing.
27    */
28   private final String mServiceName;
29 
30   /**
31    * Client name.
32    */
33   private final String mClientName;
34 
PairingRequestMessage(String serviceName)35   public PairingRequestMessage(String serviceName) {
36     this(serviceName, null);
37   }
38 
PairingRequestMessage(String serviceName, String clientName)39   public PairingRequestMessage(String serviceName, String clientName) {
40     super(PoloMessage.PoloMessageType.PAIRING_REQUEST);
41     mServiceName = serviceName;
42     mClientName = clientName;
43   }
44 
getServiceName()45   public String getServiceName() {
46     return mServiceName;
47   }
48 
getClientName()49   public String getClientName() {
50     return mClientName;
51   }
52 
hasClientName()53   public boolean hasClientName() {
54     return mClientName != null;
55   }
56 
57   @Override
toString()58   public String toString() {
59     return new StringBuilder()
60         .append("[")
61         .append(getType())
62         .append(" service_name=")
63         .append(mServiceName)
64         .append(", client_name=")
65         .append(mClientName)
66         .append("]").toString();
67   }
68 
69   @Override
equals(Object obj)70   public boolean equals(Object obj) {
71     if (this == obj) {
72       return true;
73     }
74 
75     if (!(obj instanceof PairingRequestMessage)) {
76       return false;
77     }
78 
79     PairingRequestMessage other = (PairingRequestMessage) obj;
80 
81     if (mServiceName == null) {
82       if (other.mServiceName != null) {
83         return false;
84       }
85     } else if (!mServiceName.equals(other.mServiceName)) {
86       return false;
87     } else if (mClientName == null) {
88       if (other.mClientName != null) {
89         return false;
90       }
91     } else if (!mClientName.equals(other.mClientName)) {
92       return false;
93     }
94 
95     return true;
96   }
97 
98 }
99