Interface PsFurnishChargingInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface PsFurnishChargingInformation
    extends GroupedAvp
    Defines an interface representing the PS-Furnish-Charging-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V12.11.0) specification:
     7.2.157     PS-Furnish-Charging-Information AVP
     
     The PS-Furnish-Charging-Information AVP (AVP code 865) is of type Grouped.
     Its purpose is to add online charging session specific information,
     received via the Ro reference point, onto the Rf reference point in order
     to facilitate its inclusion in CDRs. This information element may be
     received in a CCA message via the Ro reference point. In situations where
     online and offline charging are active in parallel, the information element
     is transparently copied into an ACR to be sent on the Rf reference point.
     It has the following ABNF grammar:
     
       PS-Furnish-Charging-Information ::= < AVP Header: 865>
                                           { TGPP-Charging-Id }
                                           { PS-Free-Format-Data }
                                           [ PS-Append-Free-Format-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

      • hasTgppChargingId

        boolean hasTgppChargingId()
        Returns true if the TGPP-Charging-Id AVP is present in the PS-Furnish-Charging-Information 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 PS-Furnish-Charging-Information AVP. If the TGPP-Charging-Id AVP is not present, this method returns silently.
      • hasPsFreeFormatData

        boolean hasPsFreeFormatData()
        Returns true if the PS-Free-Format-Data AVP is present in the PS-Furnish-Charging-Information AVP.
      • getPsFreeFormatData

        byte[] getPsFreeFormatData()
        Returns the value of the PS-Free-Format-Data AVP, of type OctetString.
        Returns:
        the value of the PS-Free-Format-Data AVP, or null if it has not been set.
      • setPsFreeFormatData

        void setPsFreeFormatData​(byte[] psFreeFormatData)
        Sets the value of the PS-Free-Format-Data AVP, of type OctetString.
        Throws:
        NullPointerException - if psFreeFormatData is null.
      • removePsFreeFormatData

        void removePsFreeFormatData()
        Removes the PS-Free-Format-Data AVP from the PS-Furnish-Charging-Information AVP. If the PS-Free-Format-Data AVP is not present, this method returns silently.
      • hasPsAppendFreeFormatData

        boolean hasPsAppendFreeFormatData()
        Returns true if the PS-Append-Free-Format-Data AVP is present in the PS-Furnish-Charging-Information AVP.
      • getPsAppendFreeFormatData

        PsAppendFreeFormatData getPsAppendFreeFormatData()
        Returns the value of the PS-Append-Free-Format-Data AVP, of type Enumerated.
        Returns:
        the value of the PS-Append-Free-Format-Data AVP, or null if it has not been set.
      • setPsAppendFreeFormatData

        void setPsAppendFreeFormatData​(PsAppendFreeFormatData psAppendFreeFormatData)
        Sets the value of the PS-Append-Free-Format-Data AVP, of type Enumerated.
        Throws:
        NullPointerException - if psAppendFreeFormatData is null.
      • removePsAppendFreeFormatData

        void removePsAppendFreeFormatData()
        Removes the PS-Append-Free-Format-Data AVP from the PS-Furnish-Charging-Information AVP. If the PS-Append-Free-Format-Data 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 PS-Furnish-Charging-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 PS-Furnish-Charging-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 PS-Furnish-Charging-Information AVP. If no extension AVPs are present, this method returns silently.