Package org.zoolu.sip.message

Source Code of org.zoolu.sip.message.Message

/*
* Copyright (C) 2005 Luca Veltri - University of Parma - Italy
*
* This file is part of MjSip (http://www.mjsip.org)
*
* MjSip is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* MjSip is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with MjSip; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*
* Author(s):
* Luca Veltri (luca.veltri@unipr.it)
*/

package org.zoolu.sip.message;


import org.zoolu.sip.header.Header;
import org.zoolu.sip.header.MultipleHeader;
import org.zoolu.sip.header.ReferToHeader;
import org.zoolu.sip.header.ReferredByHeader;
import org.zoolu.sip.header.EventHeader;
import org.zoolu.sip.header.AllowEventsHeader;
import org.zoolu.sip.header.SubscriptionStateHeader;
import org.zoolu.sip.header.SipHeaders;
import org.zoolu.net.UdpPacket;


/** Class Message extends class sip.message.BaseMessage adding some SIP extensions.
  * <p />
  * Class Message supports all methods and header definened in RFC3261, plus:
  * <ul>
  * <li> method MESSAGE (RFC3428) </>
  * <li> method REFER (RFC3515) </>
  * <li> header Refer-To </>
  * <li> header Referred-By </>
  * <li> header Event </>
  * </ul>
  */
public class Message extends org.zoolu.sip.message.BaseMessage
{
   /** Costructs a new empty Message */
   public Message() { super(); }

   /** Costructs a new Message */
   public Message(String str)
   {  super(str);
   }

   /** Costructs a new Message */
   public Message(byte[] buff, int offset, int len)
   {  super(buff,offset,len);
   }

   /** Costructs a new Message */
   public Message(UdpPacket packet)
   {  super(packet);
   }

   /** Costructs a new Message */
   public Message(Message msg)
   {  super(msg);
   }
  
   /** Creates and returns a clone of the Message */
   public Object clone()
   {  return new Message(this);
   }


   //****************************** Extensions *******************************/

   /** Returns boolean value to indicate if Message is a MESSAGE request (RFC3428) */
   public boolean isMessage() throws NullPointerException
   return isRequest(SipMethods.MESSAGE);
   }

   /** Returns boolean value to indicate if Message is a REFER request (RFC3515) */
   public boolean isRefer() throws NullPointerException
   return isRequest(SipMethods.REFER);
   }

   /** Returns boolean value to indicate if Message is a NOTIFY request (RFC3265) */
   public boolean isNotify() throws NullPointerException
   return isRequest(SipMethods.NOTIFY);
   }

   /** Returns boolean value to indicate if Message is a SUBSCRIBE request (RFC3265) */
   public boolean isSubscribe() throws NullPointerException
   return isRequest(SipMethods.SUBSCRIBE);
   }

   /** Returns boolean value to indicate if Message is a PUBLISH request (RFC3903) */
   public boolean isPublish() throws NullPointerException
   return isRequest(SipMethods.PUBLISH);
   }


   /** Whether the message has the Refer-To header */  
   public boolean hasReferToHeader()
   {  return hasHeader(SipHeaders.Refer_To);
   }
   /** Gets ReferToHeader */
   public ReferToHeader getReferToHeader()
   {  Header h=getHeader(SipHeaders.Refer_To);
      if (h==null) return null;
      return new ReferToHeader(h);
  
   /** Sets ReferToHeader */
   public void setReferToHeader(ReferToHeader h)
   {  setHeader(h);
   }
   /** Removes ReferToHeader from Message (if it exists) */
   public void removeReferToHeader()
   {  removeHeader(SipHeaders.Refer_To);
   }



   /** Whether the message has the Referred-By header */  
   public boolean hasReferredByHeader()
   {  return hasHeader(SipHeaders.Refer_To);
   }
   /** Gets ReferredByHeader */
   public ReferredByHeader getReferredByHeader()
   {  Header h=getHeader(SipHeaders.Referred_By);
      if (h==null) return null;
      return new ReferredByHeader(h);
  
   /** Sets ReferredByHeader */
   public void setReferredByHeader(ReferredByHeader h)
   {  setHeader(h);
   }
   /** Removes ReferredByHeader from Message (if it exists) */
   public void removeReferredByHeader()
   {  removeHeader(SipHeaders.Referred_By);
   }



   /** Whether the message has the EventHeader */  
   public boolean hasEventHeader()
   {  return hasHeader(SipHeaders.Event);
   }
   /** Gets EventHeader */
   public EventHeader getEventHeader()
   {  Header h=getHeader(SipHeaders.Event);
      if (h==null) return null;
      return new EventHeader(h);
  
   /** Sets EventHeader */
   public void setEventHeader(EventHeader h)
   {  setHeader(h);
   }
   /** Removes EventHeader from Message (if it exists) */
   public void removeEventHeader()
   {  removeHeader(SipHeaders.Event);
   }


   /** Whether the message has the AllowEventsHeader */  
   public boolean hasAllowEventsHeader()
   {  return hasHeader(SipHeaders.Allow_Events);
   }
   /** Gets AllowEventsHeader */
   public AllowEventsHeader getAllowEventsHeader()
   {  Header h=getHeader(SipHeaders.Allow_Events);
      if (h==null) return null;
      return new AllowEventsHeader(h);
  
   /** Sets AllowEventsHeader */
   public void setAllowEventsHeader(AllowEventsHeader h)
   {  setHeader(h);
   }
   /** Removes AllowEventsHeader from Message (if it exists) */
   public void removeAllowEventsHeader()
   {  removeHeader(SipHeaders.Allow_Events);
   }


   /** Whether the message has the Subscription-State header */  
   public boolean hasSubscriptionStateHeader()
   {  return hasHeader(SipHeaders.Subscription_State);
   }
   /** Gets SubscriptionStateHeader */
   public SubscriptionStateHeader getSubscriptionStateHeader()
   {  Header h=getHeader(SipHeaders.Subscription_State);
      if (h==null) return null;
      return new SubscriptionStateHeader(h);
  
   /** Sets SubscriptionStateHeader */
   public void setSubscriptionStateHeader(SubscriptionStateHeader h)
   {  setHeader(h);
   }
   /** Removes SubscriptionStateHeader from Message (if it exists) */
   public void removeSubscriptionStateHeader()
   {  removeHeader(SipHeaders.Subscription_State);
   }

}
TOP

Related Classes of org.zoolu.sip.message.Message

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.