org.mobicents.protocols.smpp.gsm
Class AbstractHeaderElement

java.lang.Object
  extended by org.mobicents.protocols.smpp.gsm.AbstractHeaderElement
All Implemented Interfaces:
HeaderElement
Direct Known Subclasses:
CompressedData, ExtendedObject, Picture, RecurringHeaderElement, UserPromptIndicator

public abstract class AbstractHeaderElement
extends Object
implements HeaderElement

Abstract base class for HeaderElement implementations.

Version:
$Id: AbstractHeaderElement.java 484 2010-02-08 16:08:50Z orank $

Constructor Summary
AbstractHeaderElement()
           
 
Method Summary
protected  boolean doWrite(int segmentNum, ByteBuffer buffer)
           
 boolean equals(Object obj)
           
 boolean isComplete()
          Determine if this HeaderElement has written all its data.
 boolean isRecurring()
          Determine if this header element should be included in the header of each message in a concatenated message.
 void postProcess(List<ByteBuffer> segments)
          This method allows HeaderElements to post-process SMS segments after they have all been created by UserData.toSegments().
 void reset()
          Reset this HeaderElement to its initial state.
 boolean write(int segmentNum, ByteBuffer buffer)
          Encode this header element to the given ByteBuffer.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.mobicents.protocols.smpp.gsm.HeaderElement
getLength
 

Constructor Detail

AbstractHeaderElement

public AbstractHeaderElement()
Method Detail

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

reset

public void reset()
Description copied from interface: HeaderElement
Reset this HeaderElement to its initial state. A HeaderElement must be in its initial state before it can be used to generate SMS segments in a UserData implementation.

Specified by:
reset in interface HeaderElement

isComplete

public boolean isComplete()
Description copied from interface: HeaderElement
Determine if this HeaderElement has written all its data. This is an internal method that is used by UserData implementations.

Specified by:
isComplete in interface HeaderElement
Returns:
true if all of this header element's data has been written to SMS segments. Elements which always recur in every SMS segment (such as concatenation) will never return true from this method.

isRecurring

public boolean isRecurring()
Description copied from interface: HeaderElement
Determine if this header element should be included in the header of each message in a concatenated message. For example, concatenation information must appear in every segment. Usually, other header element implementations will simply return false from here.

Specified by:
isRecurring in interface HeaderElement
Returns:
true if this header element will be included in each message of a concatenated message, false if it only needs to occur in one segment.

write

public boolean write(int segmentNum,
                     ByteBuffer buffer)
Description copied from interface: HeaderElement
Encode this header element to the given ByteBuffer.

Specified by:
write in interface HeaderElement

postProcess

public void postProcess(List<ByteBuffer> segments)
Description copied from interface: HeaderElement
This method allows HeaderElements to post-process SMS segments after they have all been created by UserData.toSegments(). This is primarily provided for ConcatenatedSms so that it can fill in the "total message segments" field in each segment once the total count is known.

Specified by:
postProcess in interface HeaderElement
Parameters:
segments - The generated SMS segments.

doWrite

protected boolean doWrite(int segmentNum,
                          ByteBuffer buffer)


Copyright © 2011 Mobicents. All Rights Reserved.