/protocols/jain-megaco/megaco-api/src/main/java/javax/megaco/message/descriptor/TermStateDescriptor.java
Java | 184 lines | 63 code | 23 blank | 98 comment | 12 complexity | 7456ed7670e35647f3cd400d723f13a3 MD5 | raw file
Possible License(s): LGPL-3.0, GPL-3.0, LGPL-2.1, GPL-2.0, CC-BY-SA-3.0, CC0-1.0, Apache-2.0, BSD-3-Clause
- package javax.megaco.message.descriptor;
-
- import java.io.Serializable;
-
-
- import javax.megaco.message.Descriptor;
- import javax.megaco.message.DescriptorType;
- import javax.megaco.pkg.PkgItemStr;
- import javax.megaco.pkg.PkgPrptyItem;
-
- /**
- * The class extends JAIN MEGACO Descriptor. This class describes the
- * termination state descriptor. It specifies the service state, event buffer
- * control and the package property values. Atleaset one of the above needs to
- * be specified for the termination state descriptor.
- */
- public class TermStateDescriptor extends Descriptor implements Serializable {
-
- private ServiceState serviceState = null;
- private EventBufferCtrl evtBufferControl = null;
- private PkgPrptyItem[] pkgPrptyItems = null;
- private PkgItemStr[] prptyParamStr;
-
- /**
- * Constructs a TermState Descriptor which may contain atleast one of
- * service state, reserve value, reserve group and property param.
- */
- public TermStateDescriptor() {
- super();
- super.descriptorId = DescriptorType.M_TERMINATION_STATE_DESC;
- }
-
- @Override
- public int getDescriptorId() {
- return super.descriptorId;
- }
-
- /**
- * This method gets the service state for the termination state descriptor.
- * This shall specify one of out of service or in service or test. When
- * service state is not present, then this shall return value null.
- *
- * @return Returns the object reference of type service state. If the
- * service state is not set then this shall return value null.
- */
- public final int getServiceState() {
-
- return this.serviceState.getServiceState();
- }
-
- /**
- * This method sets the service state with one of out of service or in
- * service or test. When service state is not to be sent then this method
- * would not be invoked.
- *
- * @param serviceState
- * - Sets the object reference of the derived object of
- * ServiceState to specify one of out of service or in service or
- * test.
- * @throws IllegalArgumentException
- * : This exception is raised if the reference of Service State
- * passed to this method is NULL.
- */
- public final void setServiceState(ServiceState serviceState)
-
- throws IllegalArgumentException {
- if (serviceState == null) {
- throw new IllegalArgumentException("ServiceState must not be null.");
- }
-
- this.serviceState = serviceState;
- }
-
- /**
- * This method gets the event buffer control for the termination state
- * descriptor. This shall specify one of off or lock step. When event buffer
- * control is not present, then this shall return value null.
- *
- * @return Returns the object reference of type event buffer control. If the
- * event buffer control is not set then this shall return value nul.
- */
- public final EventBufferCtrl getEvtBufferControl() {
-
- return this.evtBufferControl;
- }
-
- /**
- * This method sets the event buffer control with one of off or lock step.
- * When event buffer control is not to be sent then this method would not be
- * invoked.
- *
- * @param eventBufferControl
- * - Sets the object reference of the derived object of
- * EventBufferCtrl to specify one of off or lock step.
- * @throws IllegalArgumentException
- * : This exception is raised if the reference of Event Buffer
- * Control passed to this method is NULL.
- */
- public final void setEvtBufferControl(EventBufferCtrl eventBufferControl) throws IllegalArgumentException {
-
- if (eventBufferControl == null) {
- throw new IllegalArgumentException("EventBufferCtrl must not be null.");
- }
- this.evtBufferControl = eventBufferControl;
- }
-
- /**
- * The method is used to get the vector of property param within the
- * termination state descriptor. If this is not set then this method shall
- * return a NULL value.
- *
- * @return Returns the vector of object reference of type PkgPrptyItem. If
- * the package property item is not set then this shall return a
- * NULL value.
- */
- public final PkgPrptyItem[] getMegacoPkgPrptyItem() {
- return this.pkgPrptyItems;
- }
-
- /**
- * Sets the vector of type PkgPrptyItem in a termination state descriptor.
- * If Megaco package property is not to be sent, then this method would not
- * be called.
- *
- * @param prptyParam
- * - The Megaco Property parameter specifying the property for
- * the termination in the command.
- * @throws IllegalArgumentException
- * - if the parameters set for the property parameter are such
- * that the TermState Descriptor cannot be encoded.
- */
- public final void setMegacoPkgPrptyItem(PkgPrptyItem[] prptyParam) throws IllegalArgumentException {
-
- // FIXME: add error checks
- if (prptyParam == null) {
- throw new IllegalArgumentException("PkgPrptyItem[] must not be null.");
- }
- if (prptyParam.length == 0) {
- throw new IllegalArgumentException("PkgPrptyItem[] must not be empty.");
- }
- this.pkgPrptyItems = prptyParam;
-
- }
-
- /**
- * The method is used to get the vector of property param within the
- * termination state descriptor. The property param returned in this case
- * have package name, item name and associated parameters specified in the
- * string format. If this is not set then this method shall return a NULL
- * value.
- *
- * @return Returns the vector of object reference of type PkgPrptyItem. If
- * the package property item is not set then this shall return a
- * NULL value.
- */
- public final PkgItemStr[] getMegacoPkgItemStr() {
- return this.prptyParamStr;
- }
-
- /**
- * Sets the vector of type PkgItemStr in a termination state descriptor. If
- * Megaco package property is not to be sent, then this method would not be
- * called. This method would invoked for the packages which have not been
- * defined in javax.megaco.pkg package.
- *
- * @param prptyParam
- * - The Megaco Property parameter specifying the property for
- * the termination in the command.
- * @throws IllegalArgumentException
- * : This exception is raised if the reference of Package Item
- * string passed to this method is NULL.
- */
- public final void setMegacoPkgItemStr(PkgItemStr[] prptyParamStr) throws IllegalArgumentException {
- // FIXME: add error checks
- if (prptyParamStr == null) {
- throw new IllegalArgumentException("PkgItemStr[] must not be null.");
- }
- if (prptyParamStr.length == 0) {
- throw new IllegalArgumentException("PkgItemStr[] must not be empty.");
- }
- this.prptyParamStr = prptyParamStr;
- }
-
- }