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

com.windowsazure.messaging.AppleTemplateRegistration 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 APNs.
 *
 */
public class AppleTemplateRegistration extends AppleRegistration {
	private static final String APNS_TEMPLATE_REGISTRATION1 = "";
	private static final String APNS_TEMPLATE_REGISTRATION2 = "";
	private static final String APNS_TEMPLATE_REGISTRATION3 = "";
	private static final String APNS_TEMPLATE_REGISTRATION5 = "";

	
	private String bodyTemplate;
	private String expiry;
	private Map headers = new HashMap();

	public AppleTemplateRegistration() {
		super();
	}

	public AppleTemplateRegistration(String registrationId, String deviceToken,
			String bodyTemplate) {
		super(registrationId, deviceToken);
		this.bodyTemplate = bodyTemplate;
	}

	public AppleTemplateRegistration(String deviceToken, String bodyTemplate) {
		super(deviceToken);
		this.bodyTemplate = bodyTemplate;
	}

	public AppleTemplateRegistration(String deviceToken, String bodyTemplate, Map headers) {
		super(deviceToken);
		this.bodyTemplate = bodyTemplate;
		this.headers = headers;
	}


	public String getBodyTemplate() {
		return bodyTemplate;
	}

	public void setBodyTemplate(String bodyTemplate) {
		this.bodyTemplate = bodyTemplate;
	}

	public String getExpiry() {
		return expiry;
	}

	public void setExpiry(String expiry) {
		this.expiry = expiry;
	}

	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 + ((expiry == null) ? 0 : expiry.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;
		AppleTemplateRegistration other = (AppleTemplateRegistration) obj;
		if (bodyTemplate == null) {
			if (other.bodyTemplate != null)
				return false;
		} else if (!bodyTemplate.equals(other.bodyTemplate))
			return false;
		if (expiry == null) {
			if (other.expiry != null)
				return false;
		} else if (!expiry.equals(other.expiry))
			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(APNS_TEMPLATE_REGISTRATION1);
		buf.append(getTagsXml());
		buf.append(APNS_TEMPLATE_REGISTRATION2);
		buf.append(deviceToken);
		buf.append(APNS_TEMPLATE_REGISTRATION3);
		buf.append(bodyTemplate);
		buf.append(APNS_TEMPLATE_REGISTRATION4);
		buf.append(getExpiryXml());
		buf.append(getHeadersXml());
		buf.append(APNS_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(); } private String getExpiryXml() { if (expiry == null) return ""; return "" + expiry + ""; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy