com.windowsazure.messaging.MpnsTemplateRegistration Maven / Gradle / Ivy
package com.windowsazure.messaging;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
/**
* Class representing a registration for template notifications for devices using MPNS.
*
*/
public class MpnsTemplateRegistration extends MpnsRegistration {
private static final String MPNS_TEMPLATE_REGISTRATION1 = "";
private static final String MPNS_TEMPLATE_REGISTRATION2 = "";
private static final String MPNS_TEMPLATE_REGISTRATION3 = " ";
private static final String MPNS_TEMPLATE_REGISTRATION5 = " ";
private String bodyTemplate;
private Map headers = new HashMap();
public MpnsTemplateRegistration() {
}
public MpnsTemplateRegistration(URI channelUri, String bodyTemplate,
Map headers) {
super(channelUri);
this.bodyTemplate = bodyTemplate;
this.headers = headers;
}
public MpnsTemplateRegistration(URI channelUri,
String bodyTemplate) {
super(channelUri);
this.bodyTemplate = bodyTemplate;
}
public String getBodyTemplate() {
return bodyTemplate;
}
public void setBodyTemplate(String bodyTemplate) {
this.bodyTemplate = bodyTemplate;
}
public Map getHeaders() {
return headers;
}
public void addHeader(String name, String value) {
headers.put(name, value);
}
@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result
+ ((bodyTemplate == null) ? 0 : bodyTemplate.hashCode());
result = prime * result + ((headers == null) ? 0 : headers.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (!super.equals(obj))
return false;
if (getClass() != obj.getClass())
return false;
MpnsTemplateRegistration other = (MpnsTemplateRegistration) obj;
if (bodyTemplate == null) {
if (other.bodyTemplate != null)
return false;
} else if (!bodyTemplate.equals(other.bodyTemplate))
return false;
if (headers == null) {
if (other.headers != null)
return false;
} else if (!headers.equals(other.headers))
return false;
return true;
}
@Override
public String getXml() {
StringBuffer buf = new StringBuffer();
buf.append(MPNS_TEMPLATE_REGISTRATION1);
buf.append(getTagsXml());
buf.append(MPNS_TEMPLATE_REGISTRATION2);
buf.append(channelUri.toString());
buf.append(MPNS_TEMPLATE_REGISTRATION3);
buf.append(bodyTemplate);
buf.append(MPNS_TEMPLATE_REGISTRATION4);
buf.append(getHeadersXml());
buf.append(MPNS_TEMPLATE_REGISTRATION5);
return buf.toString();
}
private String getHeadersXml() {
StringBuffer buf = new StringBuffer();
if (!headers.isEmpty()) {
buf.append("");
for (String key : headers.keySet()) {
buf.append("");
buf.append(key).append(" ");
buf.append(headers.get(key)).append(" ");
}
buf.append(" ");
}
return buf.toString();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy