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 Rf Reference Point Protocol Details (3GPP TS 32.299 V8.13.0) specification:
     7.2.173 A    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-Input-Packets ]
                            [ Accounting-Output-Octets ]
                            [ Accounting-Output-Packets ]
                            [ Change-Condition ]
                            [ Change-Time ]
                            [ TGPP-User-Location-Info ]
     
     
    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.
      • hasAccountingInputPackets

        boolean hasAccountingInputPackets()
        Returns true if the Accounting-Input-Packets AVP is present in the Traffic-Data-Volumes AVP.
      • getAccountingInputPackets

        long getAccountingInputPackets()
        Returns the value of the Accounting-Input-Packets AVP, of type Unsigned64. Use hasAccountingInputPackets() to check the existence of this AVP.
        Returns:
        the value of the Accounting-Input-Packets AVP
        Throws:
        IllegalStateException - if the Accounting-Input-Packets AVP has not been set.
      • setAccountingInputPackets

        void setAccountingInputPackets​(long accountingInputPackets)
        Sets the value of the Accounting-Input-Packets AVP, of type Unsigned64.
      • removeAccountingInputPackets

        void removeAccountingInputPackets()
        Removes the Accounting-Input-Packets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Input-Packets 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.
      • hasAccountingOutputPackets

        boolean hasAccountingOutputPackets()
        Returns true if the Accounting-Output-Packets AVP is present in the Traffic-Data-Volumes AVP.
      • getAccountingOutputPackets

        long getAccountingOutputPackets()
        Returns the value of the Accounting-Output-Packets AVP, of type Unsigned64. Use hasAccountingOutputPackets() to check the existence of this AVP.
        Returns:
        the value of the Accounting-Output-Packets AVP
        Throws:
        IllegalStateException - if the Accounting-Output-Packets AVP has not been set.
      • setAccountingOutputPackets

        void setAccountingOutputPackets​(long accountingOutputPackets)
        Sets the value of the Accounting-Output-Packets AVP, of type Unsigned64.
      • removeAccountingOutputPackets

        void removeAccountingOutputPackets()
        Removes the Accounting-Output-Packets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Output-Packets 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.
      • 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.