Interface UsageMonitoringInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface UsageMonitoringInformation
    extends GroupedAvp
    Defines an interface representing the Usage-Monitoring-Information grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V10.1.0) specification:
     5.3.60 Usage-Monitoring-Information AVP
     
         The Usage-Monitoring-Information AVP (AVP code 1067) is of type Grouped, and it contains the usage monitoring
         control information.
     
         The Monitoring-Key AVP identifies the usage monitoring control instance.
         The Granted-Service-Unit AVP shall be used by the PCRF to provide the threshold level to the PCEF. The CC-Total-
         Octets AVP shall be used for providing threshold level for the total volume, or the CC-Input-Octets and/or CC-Output-
         Octets AVPs shall be used for providing threshold level for the uplink volume and/or the downlink volume.
         The Used-Service-Unit AVP shall be used by the PCEF to provide the measured usage to the PCRF. Reporting shall be
         done, as requested by the PCRF, in CC-Total-Octets, CC-Input-Octets or CC-Output-Octets AVPs of Used-Service-
         Unit AVP.
     
         The Usage-Monitoring-Level AVP determines the scope of the usage monitoring instance.
         The Usage-Monitoring-Report AVP determines if accumulated usage shall be reported for the usage monitoring key
         included in Monitoring-Key AVP.
         The Usage-Monitoring-Support AVP determines if a usage monitoring instance is disabled.
     
         AVP Format:
     
         Usage-Monitoring-Information::= < AVP Header: 1067 >
                                         [ Monitoring-Key ]
                                         [ Granted-Service-Unit ]
                                         [ Used-Service-Unit ]
                                         [ Usage-Monitoring-Level ]
                                         [ Usage-Monitoring-Report ]
                                         [ Usage-Monitoring-Support ]
                                        *[ AVP ]
     
    • Method Detail

      • hasMonitoringKey

        boolean hasMonitoringKey()
        Returns true if the Monitoring-Key AVP is present in the Usage-Monitoring-Information AVP.
      • getMonitoringKey

        byte[] getMonitoringKey()
        Returns the value of the Monitoring-Key AVP, of type OctetString.
        Returns:
        the value of the Monitoring-Key AVP, or null if it has not been set.
      • setMonitoringKey

        void setMonitoringKey​(byte[] monitoringKey)
        Sets the value of the Monitoring-Key AVP, of type OctetString.
        Throws:
        NullPointerException - if monitoringKey is null.
      • removeMonitoringKey

        void removeMonitoringKey()
        Removes the Monitoring-Key AVP from the Usage-Monitoring-Information AVP. If the Monitoring-Key AVP is not present, this method returns silently.
      • hasGrantedServiceUnit

        boolean hasGrantedServiceUnit()
        Returns true if the Granted-Service-Unit AVP is present in the Usage-Monitoring-Information AVP.
      • getGrantedServiceUnit

        GrantedServiceUnit getGrantedServiceUnit()
        Returns the value of the Granted-Service-Unit AVP, of type Grouped.
        Returns:
        the value of the Granted-Service-Unit AVP, or null if it has not been set.
      • setGrantedServiceUnit

        void setGrantedServiceUnit​(GrantedServiceUnit grantedServiceUnit)
        Sets the value of the Granted-Service-Unit AVP, of type Grouped.
        Throws:
        NullPointerException - if grantedServiceUnit is null.
      • removeGrantedServiceUnit

        void removeGrantedServiceUnit()
        Removes the Granted-Service-Unit AVP from the Usage-Monitoring-Information AVP. If the Granted-Service-Unit AVP is not present, this method returns silently.
      • hasUsedServiceUnit

        boolean hasUsedServiceUnit()
        Returns true if the Used-Service-Unit AVP is present in the Usage-Monitoring-Information AVP.
      • getUsedServiceUnit

        UsedServiceUnit getUsedServiceUnit()
        Returns the value of the Used-Service-Unit AVP, of type Grouped.
        Returns:
        the value of the Used-Service-Unit AVP, or null if it has not been set.
      • setUsedServiceUnit

        void setUsedServiceUnit​(UsedServiceUnit usedServiceUnit)
        Sets the value of the Used-Service-Unit AVP, of type Grouped.
        Throws:
        NullPointerException - if usedServiceUnit is null.
      • removeUsedServiceUnit

        void removeUsedServiceUnit()
        Removes the Used-Service-Unit AVP from the Usage-Monitoring-Information AVP. If the Used-Service-Unit AVP is not present, this method returns silently.
      • hasUsageMonitoringLevel

        boolean hasUsageMonitoringLevel()
        Returns true if the Usage-Monitoring-Level AVP is present in the Usage-Monitoring-Information AVP.
      • getUsageMonitoringLevel

        UsageMonitoringLevel getUsageMonitoringLevel()
        Returns the value of the Usage-Monitoring-Level AVP, of type Enumerated.
        Returns:
        the value of the Usage-Monitoring-Level AVP, or null if it has not been set.
      • setUsageMonitoringLevel

        void setUsageMonitoringLevel​(UsageMonitoringLevel usageMonitoringLevel)
        Sets the value of the Usage-Monitoring-Level AVP, of type Enumerated.
        Throws:
        NullPointerException - if usageMonitoringLevel is null.
      • removeUsageMonitoringLevel

        void removeUsageMonitoringLevel()
        Removes the Usage-Monitoring-Level AVP from the Usage-Monitoring-Information AVP. If the Usage-Monitoring-Level AVP is not present, this method returns silently.
      • hasUsageMonitoringReport

        boolean hasUsageMonitoringReport()
        Returns true if the Usage-Monitoring-Report AVP is present in the Usage-Monitoring-Information AVP.
      • getUsageMonitoringReport

        UsageMonitoringReport getUsageMonitoringReport()
        Returns the value of the Usage-Monitoring-Report AVP, of type Enumerated.
        Returns:
        the value of the Usage-Monitoring-Report AVP, or null if it has not been set.
      • setUsageMonitoringReport

        void setUsageMonitoringReport​(UsageMonitoringReport usageMonitoringReport)
        Sets the value of the Usage-Monitoring-Report AVP, of type Enumerated.
        Throws:
        NullPointerException - if usageMonitoringReport is null.
      • removeUsageMonitoringReport

        void removeUsageMonitoringReport()
        Removes the Usage-Monitoring-Report AVP from the Usage-Monitoring-Information AVP. If the Usage-Monitoring-Report AVP is not present, this method returns silently.
      • hasUsageMonitoringSupport

        boolean hasUsageMonitoringSupport()
        Returns true if the Usage-Monitoring-Support AVP is present in the Usage-Monitoring-Information AVP.
      • getUsageMonitoringSupport

        UsageMonitoringSupport getUsageMonitoringSupport()
        Returns the value of the Usage-Monitoring-Support AVP, of type Enumerated.
        Returns:
        the value of the Usage-Monitoring-Support AVP, or null if it has not been set.
      • setUsageMonitoringSupport

        void setUsageMonitoringSupport​(UsageMonitoringSupport usageMonitoringSupport)
        Sets the value of the Usage-Monitoring-Support AVP, of type Enumerated.
        Throws:
        NullPointerException - if usageMonitoringSupport is null.
      • removeUsageMonitoringSupport

        void removeUsageMonitoringSupport()
        Removes the Usage-Monitoring-Support AVP from the Usage-Monitoring-Information AVP. If the Usage-Monitoring-Support 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 Usage-Monitoring-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 Usage-Monitoring-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 Usage-Monitoring-Information AVP. If no extension AVPs are present, this method returns silently.