Interface TrafficDataVolumes

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface TrafficDataVolumes
    extends GroupedAvp
    Defines an interface representing the Traffic-Data-Volumes grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V12.11.0) specification:
     7.2.233    Traffic-Data-Volumes AVP
     
     The Traffic-Data-Volumes AVP (AVP code 2046) is of type Grouped. Its purpose is to allow 
     the transmission of the IP-CAN bearer container, on encountering change on charging condition 
     for this IP-CAN bearer.This container  reports the volume count (separated for uplink and downlink).
     It has the following ABNF grammar:
     
         Traffic-Data-Volumes ::=  < AVP Header: 2046>
                                    [ QoS-Information ]
                                    [ Accounting-Input-Octets ]
                                    [ Accounting-Output-Octets ]
                                    [ Change-Condition ]
                                    [ Change-Time ]
                                    [ TGPP-User-Location-Info ]
                                    [ TGPP-Charging-Id ]
                                    [ Presence-Reporting-Area-Status ]
                                    [ User-CSG-Information ]
     
    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

      • hasQosInformation

        boolean hasQosInformation()
        Returns true if the QoS-Information AVP is present in the Traffic-Data-Volumes AVP.
      • getQosInformation

        QosInformation getQosInformation()
        Returns the value of the QoS-Information AVP, of type Grouped.
        Returns:
        the value of the QoS-Information AVP, or null if it has not been set.
      • setQosInformation

        void setQosInformation​(QosInformation qosInformation)
        Sets the value of the QoS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if qosInformation is null.
      • removeQosInformation

        void removeQosInformation()
        Removes the QoS-Information AVP from the Traffic-Data-Volumes AVP. If the QoS-Information AVP is not present, this method returns silently.
      • hasAccountingInputOctets

        boolean hasAccountingInputOctets()
        Returns true if the Accounting-Input-Octets AVP is present in the Traffic-Data-Volumes AVP.
      • getAccountingInputOctets

        long getAccountingInputOctets()
        Returns the value of the Accounting-Input-Octets AVP, of type Unsigned64. Use hasAccountingInputOctets() to check the existence of this AVP.
        Returns:
        the value of the Accounting-Input-Octets AVP
        Throws:
        IllegalStateException - if the Accounting-Input-Octets AVP has not been set.
      • setAccountingInputOctets

        void setAccountingInputOctets​(long accountingInputOctets)
        Sets the value of the Accounting-Input-Octets AVP, of type Unsigned64.
      • removeAccountingInputOctets

        void removeAccountingInputOctets()
        Removes the Accounting-Input-Octets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Input-Octets AVP is not present, this method returns silently.
      • hasAccountingOutputOctets

        boolean hasAccountingOutputOctets()
        Returns true if the Accounting-Output-Octets AVP is present in the Traffic-Data-Volumes AVP.
      • getAccountingOutputOctets

        long getAccountingOutputOctets()
        Returns the value of the Accounting-Output-Octets AVP, of type Unsigned64. Use hasAccountingOutputOctets() to check the existence of this AVP.
        Returns:
        the value of the Accounting-Output-Octets AVP
        Throws:
        IllegalStateException - if the Accounting-Output-Octets AVP has not been set.
      • setAccountingOutputOctets

        void setAccountingOutputOctets​(long accountingOutputOctets)
        Sets the value of the Accounting-Output-Octets AVP, of type Unsigned64.
      • removeAccountingOutputOctets

        void removeAccountingOutputOctets()
        Removes the Accounting-Output-Octets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Output-Octets AVP is not present, this method returns silently.
      • hasChangeCondition

        boolean hasChangeCondition()
        Returns true if the Change-Condition AVP is present in the Traffic-Data-Volumes AVP.
      • getChangeCondition

        int getChangeCondition()
        Returns the value of the Change-Condition AVP, of type Integer32. Use hasChangeCondition() to check the existence of this AVP.
        Returns:
        the value of the Change-Condition AVP
        Throws:
        IllegalStateException - if the Change-Condition AVP has not been set.
      • setChangeCondition

        void setChangeCondition​(int changeCondition)
        Sets the value of the Change-Condition AVP, of type Integer32.
      • removeChangeCondition

        void removeChangeCondition()
        Removes the Change-Condition AVP from the Traffic-Data-Volumes AVP. If the Change-Condition AVP is not present, this method returns silently.
      • hasChangeTime

        boolean hasChangeTime()
        Returns true if the Change-Time AVP is present in the Traffic-Data-Volumes AVP.
      • getChangeTime

        Date getChangeTime()
        Returns the value of the Change-Time AVP, of type Time.
        Returns:
        the value of the Change-Time AVP, or null if it has not been set.
      • setChangeTime

        void setChangeTime​(Date changeTime)
        Sets the value of the Change-Time AVP, of type Time.
        Throws:
        NullPointerException - if changeTime is null.
      • removeChangeTime

        void removeChangeTime()
        Removes the Change-Time AVP from the Traffic-Data-Volumes AVP. If the Change-Time AVP is not present, this method returns silently.
      • hasTgppUserLocationInfo

        boolean hasTgppUserLocationInfo()
        Returns true if the TGPP-User-Location-Info AVP is present in the Traffic-Data-Volumes AVP.
      • getTgppUserLocationInfo

        byte[] getTgppUserLocationInfo()
        Returns the value of the TGPP-User-Location-Info AVP, of type OctetString.
        Returns:
        the value of the TGPP-User-Location-Info AVP, or null if it has not been set.
      • setTgppUserLocationInfo

        void setTgppUserLocationInfo​(byte[] tgppUserLocationInfo)
        Sets the value of the TGPP-User-Location-Info AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppUserLocationInfo is null.
      • removeTgppUserLocationInfo

        void removeTgppUserLocationInfo()
        Removes the TGPP-User-Location-Info AVP from the Traffic-Data-Volumes AVP. If the TGPP-User-Location-Info AVP is not present, this method returns silently.
      • hasTgppChargingId

        boolean hasTgppChargingId()
        Returns true if the TGPP-Charging-Id AVP is present in the Traffic-Data-Volumes AVP.
      • getTgppChargingId

        byte[] getTgppChargingId()
        Returns the value of the TGPP-Charging-Id AVP, of type OctetString.
        Returns:
        the value of the TGPP-Charging-Id AVP, or null if it has not been set.
      • setTgppChargingId

        void setTgppChargingId​(byte[] tgppChargingId)
        Sets the value of the TGPP-Charging-Id AVP, of type OctetString.
        Throws:
        NullPointerException - if tgppChargingId is null.
      • removeTgppChargingId

        void removeTgppChargingId()
        Removes the TGPP-Charging-Id AVP from the Traffic-Data-Volumes AVP. If the TGPP-Charging-Id AVP is not present, this method returns silently.
      • hasPresenceReportingAreaStatus

        boolean hasPresenceReportingAreaStatus()
        Returns true if the Presence-Reporting-Area-Status AVP is present in the Traffic-Data-Volumes AVP.
      • getPresenceReportingAreaStatus

        long getPresenceReportingAreaStatus()
        Returns the value of the Presence-Reporting-Area-Status AVP, of type Unsigned32. Use hasPresenceReportingAreaStatus() to check the existence of this AVP.
        Returns:
        the value of the Presence-Reporting-Area-Status AVP
        Throws:
        IllegalStateException - if the Presence-Reporting-Area-Status AVP has not been set.
      • setPresenceReportingAreaStatus

        void setPresenceReportingAreaStatus​(long presenceReportingAreaStatus)
        Sets the value of the Presence-Reporting-Area-Status AVP, of type Unsigned32.
      • removePresenceReportingAreaStatus

        void removePresenceReportingAreaStatus()
        Removes the Presence-Reporting-Area-Status AVP from the Traffic-Data-Volumes AVP. If the Presence-Reporting-Area-Status AVP is not present, this method returns silently.
      • hasUserCsgInformation

        boolean hasUserCsgInformation()
        Returns true if the User-CSG-Information AVP is present in the Traffic-Data-Volumes AVP.
      • getUserCsgInformation

        UserCsgInformation getUserCsgInformation()
        Returns the value of the User-CSG-Information AVP, of type Grouped.
        Returns:
        the value of the User-CSG-Information AVP, or null if it has not been set.
      • setUserCsgInformation

        void setUserCsgInformation​(UserCsgInformation userCsgInformation)
        Sets the value of the User-CSG-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if userCsgInformation is null.
      • removeUserCsgInformation

        void removeUserCsgInformation()
        Removes the User-CSG-Information AVP from the Traffic-Data-Volumes AVP. If the User-CSG-Information 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 Traffic-Data-Volumes 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 Traffic-Data-Volumes 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 Traffic-Data-Volumes AVP. If no extension AVPs are present, this method returns silently.