/protocols/jain-megaco/megaco-api/src/main/java/javax/megaco/association/CreateAssocReq.java
http://mobicents.googlecode.com/ · Java · 281 lines · 78 code · 23 blank · 180 comment · 6 complexity · 1b6ba85ca958575475a94d50882228ad MD5 · raw file
- /**
- * Start time:11:45:35 2009-01-30<br>
- * Project: mobicents-media-server-controllers<br>
- *
- * @author <a href="mailto:baranowb@gmail.com">baranowb - Bartosz Baranowski
- * </a>
- * @author <a href="mailto:brainslog@gmail.com"> Alexandre Mendonca </a>
- */
- package javax.megaco.association;
-
- import java.io.Serializable;
-
- import javax.megaco.AssociationEvent;
-
-
- /**
- * The class extends JAIN MEGACO Association Events. This would cause the stack
- * to configure the association with the parameters specified and initiate the
- * protocol procedures to create an association with the peer. If the
- * application is MGC, then the stack would expect ServiceChange messages from
- * MG. And if the application if MG, then the stack would send ServiceChange
- * command with the specified ServiceChangeMethod and ServiceChangeReason to
- * MGC.
- */
- public class CreateAssocReq extends AssociationEvent implements Serializable {
-
- protected LocalAddr localAddr = null;
- protected RemoteAddr[] remoteAddr = null;
- protected SrvChngReason srvChangeReason = null;
- protected SrvChngMethod srvChngMethod = null;
- protected LocalAddr srvChngAddress = null;
- protected LocalAddr handOffMGCId = null;
- protected EncodingFormat endcodingFormat = null;
-
- public CreateAssocReq(Object source, int assocHandle)
- throws IllegalArgumentException {
- super(source, assocHandle);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see javax.megaco.AssociationEvent#getAssocOperIdentifier()
- */
- @Override
- public int getAssocOperIdentifier() {
- return AssocEventType.M_CREATE_ASSOC_REQ;
- }
-
- /**
- * Gets the local entity transport address. The local address specifies the
- * transport address which the stack would use to send MEGACO messages to
- * peer.
- *
- * @return Returns the local entity transport address. If the local address
- * field is not present, then this method would return NULL.
- */
- public LocalAddr getLocalAddr() {
- return localAddr;
- }
-
- /**
- * This method sets the local entity identity. The localAddr specifies the
- * transport address which the stack would use to send transactions to peer.
- *
- * @param localAddr
- * localAddr - The local entity transport address. Since the
- * format of the message header Id is same as that of the
- * transport address, the value of this may or may not be
- * different from the local entity configured in the user Id as
- * specified in the addMegacoListener method of MegacoProvider
- * interface.
- * @throws IllegalArgumentException
- * This exception is raised if the local transport address
- * specified is invalid.
- */
- public void setLocalAddr(LocalAddr localAddr)
- throws IllegalArgumentException {
- this.localAddr = localAddr;
- }
-
- /**
- * Gets the List of remote entity transport address for the User Id. The
- * remote address specified in the address to which the stack would send
- * MEGACO messages. There is one to one correspondence between the list of
- * remote address specified here and the list of remote entity Ids in the
- * UserId class. The messages comming from a particular remote entity must
- * have same message header Id as the corresponding remote entity Id in
- * UserId class.
- *
- * @return Returns the list of remote entity transport address. If the
- * remote address parameter is not present, then this method would
- * return NULL.
- */
- public RemoteAddr[] getRemoteAddr() {
- return remoteAddr;
- }
-
- /**
- * Sets the list of remote entity identities of the user Id. The remote
- * address specified in the address to which the stack would send MEGACO
- * messages. There is one to one correspondence between the list of remote
- * address specified here and the list of remote entity Ids in the UserId
- * class. The messages comming from a particular remote entity must have
- * same message header Id as the corresponding remote entity Id in UserId
- * class.
- *
- * @param remoteAddr
- * -- List of remote entity transport addresses of the MGC/MG.
- * @throws IllegalArgumentException
- * This exception is raised if the reference of Remote Address
- * passed to this method is NULL.
- */
- public void setRemoteAddr(RemoteAddr[] remoteAddr)
- throws IllegalArgumentException {
- this.remoteAddr = remoteAddr;
- }
-
- /**
- * Gets the integer value which identifies the service change reason. This
- * parameter is required on if the application is MG. The MG stack would use
- * the same ServiceChange Reason in the ServiceChange command request sent
- * to peer MGC.
- *
- * @return Returns the integer value corresponding to the service change
- * reason. If the ServiceChangeReason is not set, then this method
- * would return value null. The possible values are field constants
- * defined for the class {@link SrvChngReason}.
- */
- public SrvChngReason getSrvChangeReason() {
- // return srvChangeReason == null ? 0 : srvChangeReason
- // .getSrvChngReasonId();
- return srvChangeReason ;
- }
-
- /**
- * This method sets the service change reason. This parameter is required on
- * if the application is MG. The MG stack would use the same ServiceChange
- * Reason in the ServiceChange command request sent to peer MGC.
- *
- * @param reason
- * - The object reference to ServiceChange Reason.
- * @throws IllegalArgumentException
- * This exception is raised if the reference of Service Change
- * Reason passed to this method is NULL.
- */
- public void setSrvChangeReason(SrvChngReason reason)
- throws IllegalArgumentException {
- if (reason == null) {
- throw new IllegalArgumentException("Change reason can not be null");
- }
- this.srvChangeReason = reason;
- }
-
- /**
- * Gets the integer value which identifies the service change method. This
- * parameter is required on if the application is MG. The MG stack would use
- * the same ServiceChange Method in ServiceChange command request sent to
- * peer MGC.
- *
- * @return Returns the integer value corresponding to the service change
- * method. If the ServiceChangeMethod is not set, then this method
- * would return value null. The possible values are field constants
- * defined for the class SrvChngMethod.
- */
- public SrvChngMethod getSrvChngMethod() {
- //return srvChngMethod == null ? 0 : srvChngMethod.getSrvChngReasonId();
- return srvChngMethod ;
- }
-
- /**
- * This method sets the service change method. This parameter is required on
- * if the application is MG. The MG stack would use the same ServiceChange
- * Method in ServiceChange command request sent to peer MGC.
- *
- * @param method
- * - The object reference to ServiceChange Method.
- * @throws IllegalArgumentException
- * This exception is raised if the reference of Service Change
- * Reason passed to this method is NULL.
- */
- public void setSrvChngMethod(SrvChngMethod method)
- throws IllegalArgumentException {
- if (method == null) {
- throw new IllegalArgumentException("Change method can not be null");
- }
- this.srvChngMethod = method;
- }
-
- /**
- * Gets the service change address.
- *
- * @return Returns the service change address. if the service change address
- * is not set, then this method would return NULL.
- */
- public LocalAddr getSrvChngAddress() {
- return srvChngAddress;
- }
-
- /**
- * This method sets the service change address. The local entity specfied
- * earlier is the transport address would be used for initial registration
- * and then subsequently, the address specified in the serviceChngAddress
- * field would be used for the local transport address. If the application
- * is MGC, then on receipt of ServiceChange command (on ROOT termination),
- * it will reply with ServiceChangeAddress field in
- * serviceChangeReplyDescriptor descriptor, with value as set using this
- * method. And If the application is MG, then the stack will send the
- * ServiceChange command (on ROOT termination) with ServiceChangeAddress
- * field in serviceChangeDescriptor descriptor, with value as set using this
- * method.
- *
- * @param srvChngAddress
- * The service change address.
- * @throws IllegalArgumentException
- * This exception is raised if the service change address
- * specified is invalid.
- */
- public void setSrvChngAddress(LocalAddr srvChngAddress)
- throws IllegalArgumentException {
- //FIXME: IllegalArgumentException
- this.srvChngAddress = srvChngAddress;
- }
-
- /**
- * Gets the identity of the MGC to which the association is to be handoffed.
- * This parameter may be set if the application is MGC.
- *
- * @return Returns the identity of the MGC to which the association is to be
- * handoffed. If the HandedOff MGC Id is missing, then method
- * returns NULL.
- */
- public LocalAddr getHandOffMGCId() {
- return handOffMGCId;
- }
-
- /**
- * This method sets the identity of the MGC to which the association is to
- * be handoffed. This parameter may be set if the application is MGC. If
- * this parameter is set, then on receipt of service change request from MG
- * (with ROOT termination), the stack will reply with MgcIdToTry field in
- * serviceChangeDescriptor descriptor, with value as set using this method.
- *
- * @param handOffMGCId
- * The identity of the MGC to which the association is to be
- * handoffed.
- * @throws IllegalArgumentException
- * This exception is raised if the HandedOffMGCId specified is
- * invalid.
- */
- public void setHandOffMGCId(LocalAddr handOffMGCId)
- throws IllegalArgumentException {
- //FIXME: IllegalArgumentException
- this.handOffMGCId = handOffMGCId;
- }
-
- public int getEndcodingFormat() {
- //FIXME 0 is valid value == TEXT ?
- return endcodingFormat==null?0:endcodingFormat.getEncodingFormat();
- }
-
- /**
- * This method sets the encoding format which is to be configured.
- *
- * @param endcodingFormat
- * The object reference to derived class of EncodingFormat class
- * which gives value of encoding format.
- * @throws IllegalArgumentException
- * This exception is raised if the reference of Encoding Format
- * passed to this method is NULL.
- */
- public void setEndcodingFormat(EncodingFormat format)
- throws IllegalArgumentException {
- if (format == null) {
- throw new IllegalArgumentException("Encoding format can not be null");
- }
- this.endcodingFormat = format;
- }
-
- }