Interface ConditionalApnAggregateMaxBitrate

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface ConditionalApnAggregateMaxBitrate
    extends GroupedAvp
    Defines an interface representing the Conditional-APN-Aggregate-Max-Bitrate grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V12.11.0) specification:
     5.3.105 Conditional-APN-Aggregate-Max-Bitrate (All access types)
     
     The Conditional APN Aggregate Max Bitrate AVP (AVP code 2818) is of type Grouped, and it defines the conditional APN policy info.
     The APN Aggregate Max Bitrate UL defines the total bandwidth usage for the uplink direction of non-GBR QCIs at the APN.
     The APN Aggregate Max Bitrate DL defines the total bandwidth usage for the downlink direction of non-GBR QCIs at the APN.
     One of the APN Aggregate Max Bitrate UL and APN Aggregate Max Bitrate DL AVP shall be present.
     The IP CAN Type and the RAT Type AVP(s) specify the condition, in terms of IP Connectivity Access Network type and the Radio Access Technology type of the UE, respectively, when the APN Aggregate Max Bitrate UL/DL shall be enforced.
     At least one of the RAT Type and IP CAN Type shall be present.
     
         Conditional-APN-Aggregate-Max-Bitrate ::=    < AVP Header: 2818 >
                                                  [ APN-Aggregate-Max-Bitrate-UL ]
                                                  [ APN-Aggregate-Max-Bitrate-DL ]
                                                 *[ IP-CAN-Type ]
                                                 *[ RAT-Type ]
                                                 *[ AVP ]
     
     
    • Method Detail

      • hasApnAggregateMaxBitrateUl

        boolean hasApnAggregateMaxBitrateUl()
        Returns true if the APN-Aggregate-Max-Bitrate-UL AVP is present in the Conditional-APN-Aggregate-Max-Bitrate AVP.
      • getApnAggregateMaxBitrateUl

        long getApnAggregateMaxBitrateUl()
        Returns the value of the APN-Aggregate-Max-Bitrate-UL AVP, of type Unsigned32. Use hasApnAggregateMaxBitrateUl() to check the existence of this AVP.
        Returns:
        the value of the APN-Aggregate-Max-Bitrate-UL AVP
        Throws:
        IllegalStateException - if the APN-Aggregate-Max-Bitrate-UL AVP has not been set.
      • setApnAggregateMaxBitrateUl

        void setApnAggregateMaxBitrateUl​(long apnAggregateMaxBitrateUl)
        Sets the value of the APN-Aggregate-Max-Bitrate-UL AVP, of type Unsigned32.
      • removeApnAggregateMaxBitrateUl

        void removeApnAggregateMaxBitrateUl()
        Removes the APN-Aggregate-Max-Bitrate-UL AVP from the Conditional-APN-Aggregate-Max-Bitrate AVP. If the APN-Aggregate-Max-Bitrate-UL AVP is not present, this method returns silently.
      • hasApnAggregateMaxBitrateDl

        boolean hasApnAggregateMaxBitrateDl()
        Returns true if the APN-Aggregate-Max-Bitrate-DL AVP is present in the Conditional-APN-Aggregate-Max-Bitrate AVP.
      • getApnAggregateMaxBitrateDl

        long getApnAggregateMaxBitrateDl()
        Returns the value of the APN-Aggregate-Max-Bitrate-DL AVP, of type Unsigned32. Use hasApnAggregateMaxBitrateDl() to check the existence of this AVP.
        Returns:
        the value of the APN-Aggregate-Max-Bitrate-DL AVP
        Throws:
        IllegalStateException - if the APN-Aggregate-Max-Bitrate-DL AVP has not been set.
      • setApnAggregateMaxBitrateDl

        void setApnAggregateMaxBitrateDl​(long apnAggregateMaxBitrateDl)
        Sets the value of the APN-Aggregate-Max-Bitrate-DL AVP, of type Unsigned32.
      • removeApnAggregateMaxBitrateDl

        void removeApnAggregateMaxBitrateDl()
        Removes the APN-Aggregate-Max-Bitrate-DL AVP from the Conditional-APN-Aggregate-Max-Bitrate AVP. If the APN-Aggregate-Max-Bitrate-DL AVP is not present, this method returns silently.
      • getIpCanTypes

        IpCanType[] getIpCanTypes()
        Returns the set of IP-CAN-Type AVPs. The returned array contains the AVPs in the order they appear in the Conditional-APN-Aggregate-Max-Bitrate AVP. A return value of null implies that no IP-CAN-Type AVPs have been set. The elements in the given array are IpCanType objects.
      • setIpCanType

        void setIpCanType​(IpCanType ipCanType)
        Sets a single IP-CAN-Type AVP in the Conditional-APN-Aggregate-Max-Bitrate AVP, of type Enumerated.
        Throws:
        NullPointerException - if ipCanType is null.
      • setIpCanTypes

        void setIpCanTypes​(IpCanType[] ipCanTypes)
        Sets the set of IP-CAN-Type AVPs, with all the values in the given array. The AVPs will be added to the Conditional-APN-Aggregate-Max-Bitrate 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 getIpCanTypes() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if ipCanTypes is null.
      • removeIpCanTypes

        void removeIpCanTypes()
        Removes all IP-CAN-Type AVPs from the Conditional-APN-Aggregate-Max-Bitrate AVP. If no IP-CAN-Type AVPs are present, this method returns silently.
      • getRatTypes

        RatType[] getRatTypes()
        Returns the set of RAT-Type AVPs. The returned array contains the AVPs in the order they appear in the Conditional-APN-Aggregate-Max-Bitrate AVP. A return value of null implies that no RAT-Type AVPs have been set. The elements in the given array are RatType objects.
      • setRatType

        void setRatType​(RatType ratType)
        Sets a single RAT-Type AVP in the Conditional-APN-Aggregate-Max-Bitrate AVP, of type Enumerated.
        Throws:
        NullPointerException - if ratType is null.
      • setRatTypes

        void setRatTypes​(RatType[] ratTypes)
        Sets the set of RAT-Type AVPs, with all the values in the given array. The AVPs will be added to the Conditional-APN-Aggregate-Max-Bitrate 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 getRatTypes() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if ratTypes is null.
      • removeRatTypes

        void removeRatTypes()
        Removes all RAT-Type AVPs from the Conditional-APN-Aggregate-Max-Bitrate AVP. If no RAT-Type AVPs are 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 Conditional-APN-Aggregate-Max-Bitrate 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 Conditional-APN-Aggregate-Max-Bitrate 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 Conditional-APN-Aggregate-Max-Bitrate AVP. If no extension AVPs are present, this method returns silently.