Interface ImInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface ImInformation
    extends GroupedAvp
    Defines an interface representing the IM-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V9.6.0) specification:
     8.5.6 IM-Information AVP
     
     The IM-Information AVP (AVP code 2110) is of type Grouped. Its purpose is to allow the transmission of service
     information elements used for IM services.
     
     <IM-Information> ::= < AVP Header: 2110 >
                            [ Total-Number-Of-Messages-Sent ]
                            [ Total-Number-Of-Messages-Exploded ]
                            [ Number-Of-Messages-Successfully-Sent ]
                            [ Number-Of-Messages-Successfully-Exploded ]
     From OMA-DDS-Charging_Data: "Charging Data".
     
     
    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

      • hasTotalNumberOfMessagesSent

        boolean hasTotalNumberOfMessagesSent()
        Returns true if the Total-Number-Of-Messages-Sent AVP is present in the IM-Information AVP.
      • getTotalNumberOfMessagesSent

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

        void setTotalNumberOfMessagesSent​(long totalNumberOfMessagesSent)
        Sets the value of the Total-Number-Of-Messages-Sent AVP, of type Unsigned32.
      • removeTotalNumberOfMessagesSent

        void removeTotalNumberOfMessagesSent()
        Removes the Total-Number-Of-Messages-Sent AVP from the IM-Information AVP. If the Total-Number-Of-Messages-Sent AVP is not present, this method returns silently.
      • hasTotalNumberOfMessagesExploded

        boolean hasTotalNumberOfMessagesExploded()
        Returns true if the Total-Number-Of-Messages-Exploded AVP is present in the IM-Information AVP.
      • getTotalNumberOfMessagesExploded

        long getTotalNumberOfMessagesExploded()
        Returns the value of the Total-Number-Of-Messages-Exploded AVP, of type Unsigned32. Use hasTotalNumberOfMessagesExploded() to check the existence of this AVP.
        Returns:
        the value of the Total-Number-Of-Messages-Exploded AVP
        Throws:
        IllegalStateException - if the Total-Number-Of-Messages-Exploded AVP has not been set.
      • setTotalNumberOfMessagesExploded

        void setTotalNumberOfMessagesExploded​(long totalNumberOfMessagesExploded)
        Sets the value of the Total-Number-Of-Messages-Exploded AVP, of type Unsigned32.
      • removeTotalNumberOfMessagesExploded

        void removeTotalNumberOfMessagesExploded()
        Removes the Total-Number-Of-Messages-Exploded AVP from the IM-Information AVP. If the Total-Number-Of-Messages-Exploded AVP is not present, this method returns silently.
      • hasNumberOfMessagesSuccessfullySent

        boolean hasNumberOfMessagesSuccessfullySent()
        Returns true if the Number-Of-Messages-Successfully-Sent AVP is present in the IM-Information AVP.
      • getNumberOfMessagesSuccessfullySent

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

        void setNumberOfMessagesSuccessfullySent​(long numberOfMessagesSuccessfullySent)
        Sets the value of the Number-Of-Messages-Successfully-Sent AVP, of type Unsigned32.
      • removeNumberOfMessagesSuccessfullySent

        void removeNumberOfMessagesSuccessfullySent()
        Removes the Number-Of-Messages-Successfully-Sent AVP from the IM-Information AVP. If the Number-Of-Messages-Successfully-Sent AVP is not present, this method returns silently.
      • hasNumberOfMessagesSuccessfullyExploded

        boolean hasNumberOfMessagesSuccessfullyExploded()
        Returns true if the Number-Of-Messages-Successfully-Exploded AVP is present in the IM-Information AVP.
      • getNumberOfMessagesSuccessfullyExploded

        long getNumberOfMessagesSuccessfullyExploded()
        Returns the value of the Number-Of-Messages-Successfully-Exploded AVP, of type Unsigned32. Use hasNumberOfMessagesSuccessfullyExploded() to check the existence of this AVP.
        Returns:
        the value of the Number-Of-Messages-Successfully-Exploded AVP
        Throws:
        IllegalStateException - if the Number-Of-Messages-Successfully-Exploded AVP has not been set.
      • setNumberOfMessagesSuccessfullyExploded

        void setNumberOfMessagesSuccessfullyExploded​(long numberOfMessagesSuccessfullyExploded)
        Sets the value of the Number-Of-Messages-Successfully-Exploded AVP, of type Unsigned32.
      • removeNumberOfMessagesSuccessfullyExploded

        void removeNumberOfMessagesSuccessfullyExploded()
        Removes the Number-Of-Messages-Successfully-Exploded AVP from the IM-Information AVP. If the Number-Of-Messages-Successfully-Exploded 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 IM-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 IM-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 IM-Information AVP. If no extension AVPs are present, this method returns silently.