Interface RequestedServiceUnit

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface RequestedServiceUnit
    extends GroupedAvp
    Defines an interface representing the Requested-Service-Unit grouped AVP type. From the Diameter Credit-Control Application (rfc4006.txt) specification:
     8.18.  Requested-Service-Unit AVP
     
        The Requested-Service-Unit AVP (AVP Code 437) is of type Grouped and
        contains the amount of requested units specified by the Diameter
        credit-control client.  A server is not required to implement all the
        unit types, and it must treat unknown or unsupported unit types as
        invalid AVPs.
     
        The Requested-Service-Unit AVP is defined as follows (per the
        grouped-avp-def of RFC 3588 [DIAMBASE]):
     
           Requested-Service-Unit ::= < AVP Header: 437 >
                                      [ CC-Time ]
                                      [ CC-Money ]
                                      [ CC-Total-Octets ]
                                      [ CC-Input-Octets ]
                                      [ CC-Output-Octets ]
                                      [ CC-Service-Specific-Units ]
                                     *[ AVP ]
     
    • Method Detail

      • hasCcTime

        boolean hasCcTime()
        Returns true if the CC-Time AVP is present in the Requested-Service-Unit AVP.
      • getCcTime

        long getCcTime()
        Returns the value of the CC-Time AVP, of type Unsigned32. Use hasCcTime() to check the existence of this AVP.
        Returns:
        the value of the CC-Time AVP
        Throws:
        IllegalStateException - if the CC-Time AVP has not been set.
      • setCcTime

        void setCcTime​(long ccTime)
        Sets the value of the CC-Time AVP, of type Unsigned32.
      • removeCcTime

        void removeCcTime()
        Removes the CC-Time AVP from the Requested-Service-Unit AVP. If the CC-Time AVP is not present, this method returns silently.
      • hasCcMoney

        boolean hasCcMoney()
        Returns true if the CC-Money AVP is present in the Requested-Service-Unit AVP.
      • getCcMoney

        CcMoney getCcMoney()
        Returns the value of the CC-Money AVP, of type Grouped.
        Returns:
        the value of the CC-Money AVP, or null if it has not been set.
      • setCcMoney

        void setCcMoney​(CcMoney ccMoney)
        Sets the value of the CC-Money AVP, of type Grouped.
        Throws:
        NullPointerException - if ccMoney is null.
      • removeCcMoney

        void removeCcMoney()
        Removes the CC-Money AVP from the Requested-Service-Unit AVP. If the CC-Money AVP is not present, this method returns silently.
      • hasCcTotalOctets

        boolean hasCcTotalOctets()
        Returns true if the CC-Total-Octets AVP is present in the Requested-Service-Unit AVP.
      • getCcTotalOctets

        long getCcTotalOctets()
        Returns the value of the CC-Total-Octets AVP, of type Unsigned64. Use hasCcTotalOctets() to check the existence of this AVP.
        Returns:
        the value of the CC-Total-Octets AVP
        Throws:
        IllegalStateException - if the CC-Total-Octets AVP has not been set.
      • setCcTotalOctets

        void setCcTotalOctets​(long ccTotalOctets)
        Sets the value of the CC-Total-Octets AVP, of type Unsigned64.
      • removeCcTotalOctets

        void removeCcTotalOctets()
        Removes the CC-Total-Octets AVP from the Requested-Service-Unit AVP. If the CC-Total-Octets AVP is not present, this method returns silently.
      • hasCcInputOctets

        boolean hasCcInputOctets()
        Returns true if the CC-Input-Octets AVP is present in the Requested-Service-Unit AVP.
      • getCcInputOctets

        long getCcInputOctets()
        Returns the value of the CC-Input-Octets AVP, of type Unsigned64. Use hasCcInputOctets() to check the existence of this AVP.
        Returns:
        the value of the CC-Input-Octets AVP
        Throws:
        IllegalStateException - if the CC-Input-Octets AVP has not been set.
      • setCcInputOctets

        void setCcInputOctets​(long ccInputOctets)
        Sets the value of the CC-Input-Octets AVP, of type Unsigned64.
      • removeCcInputOctets

        void removeCcInputOctets()
        Removes the CC-Input-Octets AVP from the Requested-Service-Unit AVP. If the CC-Input-Octets AVP is not present, this method returns silently.
      • hasCcOutputOctets

        boolean hasCcOutputOctets()
        Returns true if the CC-Output-Octets AVP is present in the Requested-Service-Unit AVP.
      • getCcOutputOctets

        long getCcOutputOctets()
        Returns the value of the CC-Output-Octets AVP, of type Unsigned64. Use hasCcOutputOctets() to check the existence of this AVP.
        Returns:
        the value of the CC-Output-Octets AVP
        Throws:
        IllegalStateException - if the CC-Output-Octets AVP has not been set.
      • setCcOutputOctets

        void setCcOutputOctets​(long ccOutputOctets)
        Sets the value of the CC-Output-Octets AVP, of type Unsigned64.
      • removeCcOutputOctets

        void removeCcOutputOctets()
        Removes the CC-Output-Octets AVP from the Requested-Service-Unit AVP. If the CC-Output-Octets AVP is not present, this method returns silently.
      • hasCcServiceSpecificUnits

        boolean hasCcServiceSpecificUnits()
        Returns true if the CC-Service-Specific-Units AVP is present in the Requested-Service-Unit AVP.
      • getCcServiceSpecificUnits

        long getCcServiceSpecificUnits()
        Returns the value of the CC-Service-Specific-Units AVP, of type Unsigned64. Use hasCcServiceSpecificUnits() to check the existence of this AVP.
        Returns:
        the value of the CC-Service-Specific-Units AVP
        Throws:
        IllegalStateException - if the CC-Service-Specific-Units AVP has not been set.
      • setCcServiceSpecificUnits

        void setCcServiceSpecificUnits​(long ccServiceSpecificUnits)
        Sets the value of the CC-Service-Specific-Units AVP, of type Unsigned64.
      • removeCcServiceSpecificUnits

        void removeCcServiceSpecificUnits()
        Removes the CC-Service-Specific-Units AVP from the Requested-Service-Unit AVP. If the CC-Service-Specific-Units 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 Requested-Service-Unit 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 Requested-Service-Unit 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 Requested-Service-Unit AVP. If no extension AVPs are present, this method returns silently.