/protocols/jain-megaco/megaco-api/src/main/java/javax/megaco/message/descriptor/CntxtTermAudDescriptor.java
http://mobicents.googlecode.com/ · Java · 117 lines · 43 code · 16 blank · 58 comment · 10 complexity · 4de3968af48133ad323b04ae55bede0c MD5 · raw file
- package javax.megaco.message.descriptor;
-
- import java.io.Serializable;
-
-
- import javax.megaco.MethodInvocationException;
- import javax.megaco.message.Descriptor;
- import javax.megaco.message.DescriptorType;
- import javax.megaco.message.Termination;
-
- /**
- * The class extends JAIN MEGACO Descriptor. This class describes the Context
- * termination audit descriptor.
- */
- public class CntxtTermAudDescriptor extends Descriptor implements Serializable {
-
- private ErrorDescriptor errorDescriptor;
- private Termination[] terminationList;
-
- /**
- * Constructs an Context Termination Descriptor object. This extends the
- * Descriptor class.
- */
- public CntxtTermAudDescriptor() {
- super.descriptorId = DescriptorType.M_CTX_TERM_AUDIT_DESC;
- }
-
- /**
- * This method returns that the descriptor identifier is of type descriptor
- * Context Termination Audit. This method overrides the corresponding method
- * of the base class Descriptor.
- *
- * @return Returns an integer value that identifies this object as the type
- * of Context Termination Audit descriptor. It returns the value
- * M_CTX_TERM_AUDIT_DESC for a Context Termination Audit Descriptor.
- */
- public int getDescriptorId() {
- return super.descriptorId;
- }
-
- /**
- * This method returns that the descriptor info of type Error descriptor.
- *
- * @return Returns an descriptor info that identifies this object as the
- * type of Error descriptor. It returns that it is Error Descriptor
- * i.e., M_ERROR_DESC. If the descriptor is absent in the command,
- * then method would return NULL.
- */
- public ErrorDescriptor getErrorDescriptor() {
- return this.errorDescriptor;
- }
-
- /**
- * This method is used to get the list of the termination Ids.
- *
- * @return The function returns vector of the Termination. If the descriptor
- * is absent in the command, then method would return NULL.
- */
- public Termination[] getTerminationIdList() {
- return this.terminationList;
- }
-
- /**
- * This method sets the Megaco Error descriptor.
- *
- * @param errorDescriptor
- * - Megaco Error descriptor to be set for this command.
- * @throws IllegalArgumentException
- * - Thrown if an invalid descriptor is set.
- * @throws IllegalStateException
- * - Thrown if the Termination Id list has already been
- * specified for this command. The object of this class can have
- * either error descriptor or termination Id list associated
- * with it and not both.
- */
- public void setErrorDescriptor(ErrorDescriptor errorDescriptor) throws IllegalArgumentException, IllegalStateException {
- if (errorDescriptor == null) {
- throw new IllegalArgumentException("ErrorDescriptor must not be null.");
- }
-
- if (this.terminationList != null) {
- throw new IllegalStateException("ErrorDescriptor must not be set when Termination[] is present");
- }
-
- this.errorDescriptor = errorDescriptor;
- }
-
- /**
- * The method is used to set the Megaco Termination Id List.
- *
- * @param termIdList
- * - Vector of Megaco terminationId descriptor to be set for this
- * command.
- * @throws IllegalArgumentException
- * - Thrown if an invalid descriptor is set.
- * @throws IllegalStateException
- * - Thrown if the error descriptor has already been specified
- * for this command. The object of this class can have either
- * error descriptor or termination Id list associated with it
- * and not both.
- */
- public void setTerminationId(Termination[] termIdList) throws IllegalArgumentException, IllegalStateException {
- if (termIdList == null) {
- throw new IllegalArgumentException("Termination[] must not be null.");
- }
-
- if (termIdList.length == 0) {
- throw new IllegalArgumentException("Termination[] must not be empty.");
- }
-
- if (this.errorDescriptor != null) {
- throw new IllegalStateException("Termination[] must not be set when ErrorDescriptor is present");
- }
-
- this.terminationList = termIdList;
- }
- }