package org.mobicents.slee.sipevent.server.internal; import java.util.UUID; import org.mobicents.slee.sipevent.server.subscription.pojo.Subscription; /** * Internal event that is fired on a internal subscription aci, so we can use * the right callback to notify. * * @author martins * */ public class InternalNotifyEvent { private final String eventId = UUID.randomUUID().toString(); private final String subscriber; private final String notifier; private final String eventPackage; private final String subscriptionId; private final Subscription.Event terminationReason; private final Subscription.Status subscriptionStatus; private final String content; private final String contentType; private final String contentSubtype; public InternalNotifyEvent(String subscriber, String notifier, String eventPackage, String subscriptionId, Subscription.Event terminationReason, Subscription.Status subscriptionStatus, String content, String contentType, String contentSubtype) { this.subscriber = subscriber; this.notifier = notifier; this.eventPackage = eventPackage; this.subscriptionId = subscriptionId; this.terminationReason = terminationReason; this.subscriptionStatus = subscriptionStatus; this.content = content; this.contentType = contentType; this.contentSubtype = contentSubtype; } public String getContentSubtype() { return contentSubtype; } public String getContentType() { return contentType; } public String getContent() { return content; } public String getEventPackage() { return eventPackage; } public String getNotifier() { return notifier; } public String getSubscriber() { return subscriber; } public Subscription.Event getTerminationReason() { return terminationReason; } public String getSubscriptionId() { return subscriptionId; } public Subscription.Status getSubscriptionStatus() { return subscriptionStatus; } @Override public boolean equals(Object obj) { if (obj != null && obj.getClass() == this.getClass()) { return ((InternalNotifyEvent) obj).eventId.equals(this.eventId); } else { return false; } } @Override public int hashCode() { return eventId.hashCode(); } private String toString = null; @Override public String toString() { if (toString == null) { toString = "\nINTERNAL NOTIFY EVENT:" + "\n+-- Subscriber: " + subscriber + "\n+-- Notifier: " + notifier + "\n+-- EventPackage: " + eventPackage + "\n+-- SubscriptionId: " + subscriptionId + "\n+-- Subscription status: " + subscriptionStatus + "\n+-- Subscription termination reason: " + terminationReason + "\n+-- Content Type: " + contentType + '/' + contentSubtype + "\n+-- Content:\n\n" + content; } return toString; } }