Interface SmsInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface SmsInformation
    extends GroupedAvp
    Defines an interface representing the SMS-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V9.6.0) specification:
     7.2.211     SMS-Information AVP
     
     The SMS-Information AVP (AVP code 2000) is of type Grouped. Its purpose is to allow the transmission of additional
     SMS service specific information elements.
     It has the following ABNF grammar:
     
         SMS-Information ::= < AVP Header: 2000>
                             [ SMS-Node ]
                             [ Client-Address ]
                             [ Originator-SCCP-Address ]
                             [ SMSC-Address ]
                             [ Data-Coding-Scheme ]
                             [ SM-Discharge-Time ]
                             [ SM-Message-Type ]
                             [ Originator-Interface ]
                             [ SM-Protocol-ID ]
                             [ Reply-Path-Requested ]
                             [ SM-Status ]
                             [ SM-User-Data-Header ]
                             [ Number-Of-Messages-Sent ]
                           * [ Recipient-Info ]
                             [ Originator-Received-Address ]
                             [ SM-Service-Type ]
     
    Note:
    The support for extension AVPs is present even thou the ABNF grammar for this AVP does not contain the "* [ AVP ]" line. Be aware that adding any extension AVPs may result in interoperability problems with products that strongly validate the incoming diameter message for it's adherence to the specification.
    • Method Detail

      • hasSmsNode

        boolean hasSmsNode()
        Returns true if the SMS-Node AVP is present in the SMS-Information AVP.
      • getSmsNode

        SmsNode getSmsNode()
        Returns the value of the SMS-Node AVP, of type Enumerated.
        Returns:
        the value of the SMS-Node AVP, or null if it has not been set.
      • setSmsNode

        void setSmsNode​(SmsNode smsNode)
        Sets the value of the SMS-Node AVP, of type Enumerated.
        Throws:
        NullPointerException - if smsNode is null.
      • removeSmsNode

        void removeSmsNode()
        Removes the SMS-Node AVP from the SMS-Information AVP. If the SMS-Node AVP is not present, this method returns silently.
      • hasClientAddress

        boolean hasClientAddress()
        Returns true if the Client-Address AVP is present in the SMS-Information AVP.
      • getClientAddress

        Address getClientAddress()
        Returns the value of the Client-Address AVP, of type Address.
        Returns:
        the value of the Client-Address AVP, or null if it has not been set.
      • setClientAddress

        void setClientAddress​(Address clientAddress)
        Sets the value of the Client-Address AVP, of type Address.
        Throws:
        NullPointerException - if clientAddress is null.
      • removeClientAddress

        void removeClientAddress()
        Removes the Client-Address AVP from the SMS-Information AVP. If the Client-Address AVP is not present, this method returns silently.
      • hasOriginatorSccpAddress

        boolean hasOriginatorSccpAddress()
        Returns true if the Originator-SCCP-Address AVP is present in the SMS-Information AVP.
      • getOriginatorSccpAddress

        Address getOriginatorSccpAddress()
        Returns the value of the Originator-SCCP-Address AVP, of type Address.
        Returns:
        the value of the Originator-SCCP-Address AVP, or null if it has not been set.
      • setOriginatorSccpAddress

        void setOriginatorSccpAddress​(Address originatorSccpAddress)
        Sets the value of the Originator-SCCP-Address AVP, of type Address.
        Throws:
        NullPointerException - if originatorSccpAddress is null.
      • removeOriginatorSccpAddress

        void removeOriginatorSccpAddress()
        Removes the Originator-SCCP-Address AVP from the SMS-Information AVP. If the Originator-SCCP-Address AVP is not present, this method returns silently.
      • hasSmscAddress

        boolean hasSmscAddress()
        Returns true if the SMSC-Address AVP is present in the SMS-Information AVP.
      • getSmscAddress

        Address getSmscAddress()
        Returns the value of the SMSC-Address AVP, of type Address.
        Returns:
        the value of the SMSC-Address AVP, or null if it has not been set.
      • setSmscAddress

        void setSmscAddress​(Address smscAddress)
        Sets the value of the SMSC-Address AVP, of type Address.
        Throws:
        NullPointerException - if smscAddress is null.
      • removeSmscAddress

        void removeSmscAddress()
        Removes the SMSC-Address AVP from the SMS-Information AVP. If the SMSC-Address AVP is not present, this method returns silently.
      • hasDataCodingScheme

        boolean hasDataCodingScheme()
        Returns true if the Data-Coding-Scheme AVP is present in the SMS-Information AVP.
      • getDataCodingScheme

        int getDataCodingScheme()
        Returns the value of the Data-Coding-Scheme AVP, of type Integer32. Use hasDataCodingScheme() to check the existence of this AVP.
        Returns:
        the value of the Data-Coding-Scheme AVP
        Throws:
        IllegalStateException - if the Data-Coding-Scheme AVP has not been set.
      • setDataCodingScheme

        void setDataCodingScheme​(int dataCodingScheme)
        Sets the value of the Data-Coding-Scheme AVP, of type Integer32.
      • removeDataCodingScheme

        void removeDataCodingScheme()
        Removes the Data-Coding-Scheme AVP from the SMS-Information AVP. If the Data-Coding-Scheme AVP is not present, this method returns silently.
      • hasSmDischargeTime

        boolean hasSmDischargeTime()
        Returns true if the SM-Discharge-Time AVP is present in the SMS-Information AVP.
      • getSmDischargeTime

        Date getSmDischargeTime()
        Returns the value of the SM-Discharge-Time AVP, of type Time.
        Returns:
        the value of the SM-Discharge-Time AVP, or null if it has not been set.
      • setSmDischargeTime

        void setSmDischargeTime​(Date smDischargeTime)
        Sets the value of the SM-Discharge-Time AVP, of type Time.
        Throws:
        NullPointerException - if smDischargeTime is null.
      • removeSmDischargeTime

        void removeSmDischargeTime()
        Removes the SM-Discharge-Time AVP from the SMS-Information AVP. If the SM-Discharge-Time AVP is not present, this method returns silently.
      • hasSmMessageType

        boolean hasSmMessageType()
        Returns true if the SM-Message-Type AVP is present in the SMS-Information AVP.
      • getSmMessageType

        SmMessageType getSmMessageType()
        Returns the value of the SM-Message-Type AVP, of type Enumerated.
        Returns:
        the value of the SM-Message-Type AVP, or null if it has not been set.
      • setSmMessageType

        void setSmMessageType​(SmMessageType smMessageType)
        Sets the value of the SM-Message-Type AVP, of type Enumerated.
        Throws:
        NullPointerException - if smMessageType is null.
      • removeSmMessageType

        void removeSmMessageType()
        Removes the SM-Message-Type AVP from the SMS-Information AVP. If the SM-Message-Type AVP is not present, this method returns silently.
      • hasOriginatorInterface

        boolean hasOriginatorInterface()
        Returns true if the Originator-Interface AVP is present in the SMS-Information AVP.
      • getOriginatorInterface

        OriginatorInterface getOriginatorInterface()
        Returns the value of the Originator-Interface AVP, of type Grouped.
        Returns:
        the value of the Originator-Interface AVP, or null if it has not been set.
      • setOriginatorInterface

        void setOriginatorInterface​(OriginatorInterface originatorInterface)
        Sets the value of the Originator-Interface AVP, of type Grouped.
        Throws:
        NullPointerException - if originatorInterface is null.
      • removeOriginatorInterface

        void removeOriginatorInterface()
        Removes the Originator-Interface AVP from the SMS-Information AVP. If the Originator-Interface AVP is not present, this method returns silently.
      • hasSmProtocolId

        boolean hasSmProtocolId()
        Returns true if the SM-Protocol-ID AVP is present in the SMS-Information AVP.
      • getSmProtocolId

        byte[] getSmProtocolId()
        Returns the value of the SM-Protocol-ID AVP, of type OctetString.
        Returns:
        the value of the SM-Protocol-ID AVP, or null if it has not been set.
      • setSmProtocolId

        void setSmProtocolId​(byte[] smProtocolId)
        Sets the value of the SM-Protocol-ID AVP, of type OctetString.
        Throws:
        NullPointerException - if smProtocolId is null.
      • removeSmProtocolId

        void removeSmProtocolId()
        Removes the SM-Protocol-ID AVP from the SMS-Information AVP. If the SM-Protocol-ID AVP is not present, this method returns silently.
      • hasReplyPathRequested

        boolean hasReplyPathRequested()
        Returns true if the Reply-Path-Requested AVP is present in the SMS-Information AVP.
      • getReplyPathRequested

        ReplyPathRequested getReplyPathRequested()
        Returns the value of the Reply-Path-Requested AVP, of type Enumerated.
        Returns:
        the value of the Reply-Path-Requested AVP, or null if it has not been set.
      • setReplyPathRequested

        void setReplyPathRequested​(ReplyPathRequested replyPathRequested)
        Sets the value of the Reply-Path-Requested AVP, of type Enumerated.
        Throws:
        NullPointerException - if replyPathRequested is null.
      • removeReplyPathRequested

        void removeReplyPathRequested()
        Removes the Reply-Path-Requested AVP from the SMS-Information AVP. If the Reply-Path-Requested AVP is not present, this method returns silently.
      • hasSmStatus

        boolean hasSmStatus()
        Returns true if the SM-Status AVP is present in the SMS-Information AVP.
      • getSmStatus

        byte[] getSmStatus()
        Returns the value of the SM-Status AVP, of type OctetString.
        Returns:
        the value of the SM-Status AVP, or null if it has not been set.
      • setSmStatus

        void setSmStatus​(byte[] smStatus)
        Sets the value of the SM-Status AVP, of type OctetString.
        Throws:
        NullPointerException - if smStatus is null.
      • removeSmStatus

        void removeSmStatus()
        Removes the SM-Status AVP from the SMS-Information AVP. If the SM-Status AVP is not present, this method returns silently.
      • hasSmUserDataHeader

        boolean hasSmUserDataHeader()
        Returns true if the SM-User-Data-Header AVP is present in the SMS-Information AVP.
      • getSmUserDataHeader

        byte[] getSmUserDataHeader()
        Returns the value of the SM-User-Data-Header AVP, of type OctetString.
        Returns:
        the value of the SM-User-Data-Header AVP, or null if it has not been set.
      • setSmUserDataHeader

        void setSmUserDataHeader​(byte[] smUserDataHeader)
        Sets the value of the SM-User-Data-Header AVP, of type OctetString.
        Throws:
        NullPointerException - if smUserDataHeader is null.
      • removeSmUserDataHeader

        void removeSmUserDataHeader()
        Removes the SM-User-Data-Header AVP from the SMS-Information AVP. If the SM-User-Data-Header AVP is not present, this method returns silently.
      • hasNumberOfMessagesSent

        boolean hasNumberOfMessagesSent()
        Returns true if the Number-Of-Messages-Sent AVP is present in the SMS-Information AVP.
      • getNumberOfMessagesSent

        long getNumberOfMessagesSent()
        Returns the value of the Number-Of-Messages-Sent AVP, of type Unsigned32. Use hasNumberOfMessagesSent() to check the existence of this AVP.
        Returns:
        the value of the Number-Of-Messages-Sent AVP
        Throws:
        IllegalStateException - if the Number-Of-Messages-Sent AVP has not been set.
      • setNumberOfMessagesSent

        void setNumberOfMessagesSent​(long numberOfMessagesSent)
        Sets the value of the Number-Of-Messages-Sent AVP, of type Unsigned32.
      • removeNumberOfMessagesSent

        void removeNumberOfMessagesSent()
        Removes the Number-Of-Messages-Sent AVP from the SMS-Information AVP. If the Number-Of-Messages-Sent AVP is not present, this method returns silently.
      • getRecipientInfos

        RecipientInfo[] getRecipientInfos()
        Returns the set of Recipient-Info AVPs. The returned array contains the AVPs in the order they appear in the SMS-Information AVP. A return value of null implies that no Recipient-Info AVPs have been set. The elements in the given array are RecipientInfo objects.
      • setRecipientInfo

        void setRecipientInfo​(RecipientInfo recipientInfo)
        Sets a single Recipient-Info AVP in the SMS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if recipientInfo is null.
      • setRecipientInfos

        void setRecipientInfos​(RecipientInfo[] recipientInfos)
        Sets the set of Recipient-Info AVPs, with all the values in the given array. The AVPs will be added to the SMS-Information AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getRecipientInfos() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if recipientInfos is null.
      • removeRecipientInfos

        void removeRecipientInfos()
        Removes all Recipient-Info AVPs from the SMS-Information AVP. If no Recipient-Info AVPs are present, this method returns silently.
      • hasOriginatorReceivedAddress

        boolean hasOriginatorReceivedAddress()
        Returns true if the Originator-Received-Address AVP is present in the SMS-Information AVP.
      • getOriginatorReceivedAddress

        OriginatorReceivedAddress getOriginatorReceivedAddress()
        Returns the value of the Originator-Received-Address AVP, of type Grouped.
        Returns:
        the value of the Originator-Received-Address AVP, or null if it has not been set.
      • setOriginatorReceivedAddress

        void setOriginatorReceivedAddress​(OriginatorReceivedAddress originatorReceivedAddress)
        Sets the value of the Originator-Received-Address AVP, of type Grouped.
        Throws:
        NullPointerException - if originatorReceivedAddress is null.
      • removeOriginatorReceivedAddress

        void removeOriginatorReceivedAddress()
        Removes the Originator-Received-Address AVP from the SMS-Information AVP. If the Originator-Received-Address AVP is not present, this method returns silently.
      • hasSmServiceType

        boolean hasSmServiceType()
        Returns true if the SM-Service-Type AVP is present in the SMS-Information AVP.
      • getSmServiceType

        SmServiceType getSmServiceType()
        Returns the value of the SM-Service-Type AVP, of type Enumerated.
        Returns:
        the value of the SM-Service-Type AVP, or null if it has not been set.
      • setSmServiceType

        void setSmServiceType​(SmServiceType smServiceType)
        Sets the value of the SM-Service-Type AVP, of type Enumerated.
        Throws:
        NullPointerException - if smServiceType is null.
      • removeSmServiceType

        void removeSmServiceType()
        Removes the SM-Service-Type AVP from the SMS-Information AVP. If the SM-Service-Type AVP is not present, this method returns silently.
      • getExtensionAvps

        DiameterAvp[] getExtensionAvps()
        Returns the set of extension AVPs. The returned array contains the extension AVPs in the order they appear in the SMS-Information AVP. A return value of null implies that no extensions AVPs have been set.
      • setExtensionAvps

        void setExtensionAvps​(DiameterAvp[] avps)
                       throws AvpNotAllowedException
        Sets the set of extension AVPs with all the values in the given array. The AVPs will be added to SMS-Information AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getExtensionAvps() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        AvpNotAllowedException - if an AVP is encountered of a type already known to this class (i.e. an AVP for which get/set methods already appear in this class)
        NullPointerException - if avps is null.
      • removeExtensionAvps

        void removeExtensionAvps()
        Removes all extension AVPs from the SMS-Information AVP. If no extension AVPs are present, this method returns silently.