All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.windowsazure.messaging.MpnsTemplateRegistration Maven / Gradle / Ivy

The newest version!
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