Interface MultipleServicesCreditControl

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface MultipleServicesCreditControl
    extends GroupedAvp
    Defines an interface representing the Multiple-Services-Credit-Control grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V7.9.0) specification:
     7.1.4       Multiple-Services-Credit-Control
     
     The Multiple-Services-Credit-Control AVP (AVP code 456) is of type grouped as specified in IETF RFC 4006 [402]. It
     contains additional 3GPP specific charging parameters.
     
     It has the following ABNF grammar:
     
         Multiple-Services-Credit-Control ::= < AVP Header: 456 >
                                                [ Granted-Service-Unit ]
                                                [ Requested-Service-Unit ]
                                              * [ Used-Service-Unit ]
                                              * [ Service-Identifier ]
                                                [ Rating-Group ]
                                              * [ G-S-U-Pool-Reference ]
                                                [ Validity-Time ]
                                                [ Result-Code ]
                                                [ Final-Unit-Indication ]
                                                [ Time-Quota-Threshold ]
                                                [ Volume-Quota-Threshold ]
                                                [ Unit-Quota-Threshold ]
                                                [ Quota-Holding-Time ]
                                                [ Quota-Consumption-Time ]
                                              * [ Reporting-Reason ]
                                                [ Trigger ]
                                                [ PS-Furnish-Charging-Information ]
                                              * [ AF-Correlation-Information]
                                              * [ Envelope ]
                                                [ Envelope-Reporting ]
                                                [ Time-Quota-Mechanism ]
                                              * [ AVP ]
     
    • Method Detail

      • hasGrantedServiceUnit

        boolean hasGrantedServiceUnit()
        Returns true if the Granted-Service-Unit AVP is present in the Multiple-Services-Credit-Control 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 Multiple-Services-Credit-Control AVP. If the Granted-Service-Unit AVP is not present, this method returns silently.
      • hasRequestedServiceUnit

        boolean hasRequestedServiceUnit()
        Returns true if the Requested-Service-Unit AVP is present in the Multiple-Services-Credit-Control AVP.
      • getRequestedServiceUnit

        RequestedServiceUnit getRequestedServiceUnit()
        Returns the value of the Requested-Service-Unit AVP, of type Grouped.
        Returns:
        the value of the Requested-Service-Unit AVP, or null if it has not been set.
      • setRequestedServiceUnit

        void setRequestedServiceUnit​(RequestedServiceUnit requestedServiceUnit)
        Sets the value of the Requested-Service-Unit AVP, of type Grouped.
        Throws:
        NullPointerException - if requestedServiceUnit is null.
      • removeRequestedServiceUnit

        void removeRequestedServiceUnit()
        Removes the Requested-Service-Unit AVP from the Multiple-Services-Credit-Control AVP. If the Requested-Service-Unit AVP is not present, this method returns silently.
      • getUsedServiceUnits

        UsedServiceUnit[] getUsedServiceUnits()
        Returns the set of Used-Service-Unit AVPs. The returned array contains the AVPs in the order they appear in the Multiple-Services-Credit-Control AVP. A return value of null implies that no Used-Service-Unit AVPs have been set. The elements in the given array are UsedServiceUnit objects.
      • setUsedServiceUnit

        void setUsedServiceUnit​(UsedServiceUnit usedServiceUnit)
        Sets a single Used-Service-Unit AVP in the Multiple-Services-Credit-Control AVP, of type Grouped.
        Throws:
        NullPointerException - if usedServiceUnit is null.
      • setUsedServiceUnits

        void setUsedServiceUnits​(UsedServiceUnit[] usedServiceUnits)
        Sets the set of Used-Service-Unit AVPs, with all the values in the given array. The AVPs will be added to the Multiple-Services-Credit-Control 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 getUsedServiceUnits() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if usedServiceUnits is null.
      • removeUsedServiceUnits

        void removeUsedServiceUnits()
        Removes all Used-Service-Unit AVPs from the Multiple-Services-Credit-Control AVP. If no Used-Service-Unit AVPs are present, this method returns silently.
      • getServiceIdentifiers

        long[] getServiceIdentifiers()
        Returns the set of Service-Identifier AVPs. The returned array contains the AVPs in the order they appear in the Multiple-Services-Credit-Control AVP. A return value of null implies that no Service-Identifier AVPs have been set. The elements in the given array are long objects.
      • setServiceIdentifier

        void setServiceIdentifier​(long serviceIdentifier)
        Sets a single Service-Identifier AVP in the Multiple-Services-Credit-Control AVP, of type Unsigned32.
      • setServiceIdentifiers

        void setServiceIdentifiers​(long[] serviceIdentifiers)
        Sets the set of Service-Identifier AVPs, with all the values in the given array. The AVPs will be added to the Multiple-Services-Credit-Control 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 getServiceIdentifiers() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if serviceIdentifiers is null.
      • removeServiceIdentifiers

        void removeServiceIdentifiers()
        Removes all Service-Identifier AVPs from the Multiple-Services-Credit-Control AVP. If no Service-Identifier AVPs are present, this method returns silently.
      • hasRatingGroup

        boolean hasRatingGroup()
        Returns true if the Rating-Group AVP is present in the Multiple-Services-Credit-Control AVP.
      • getRatingGroup

        long getRatingGroup()
        Returns the value of the Rating-Group AVP, of type Unsigned32. Use hasRatingGroup() to check the existence of this AVP.
        Returns:
        the value of the Rating-Group AVP
        Throws:
        IllegalStateException - if the Rating-Group AVP has not been set.
      • setRatingGroup

        void setRatingGroup​(long ratingGroup)
        Sets the value of the Rating-Group AVP, of type Unsigned32.
      • removeRatingGroup

        void removeRatingGroup()
        Removes the Rating-Group AVP from the Multiple-Services-Credit-Control AVP. If the Rating-Group AVP is not present, this method returns silently.
      • getGsuPoolReferences

        GsuPoolReference[] getGsuPoolReferences()
        Returns the set of G-S-U-Pool-Reference AVPs. The returned array contains the AVPs in the order they appear in the Multiple-Services-Credit-Control AVP. A return value of null implies that no G-S-U-Pool-Reference AVPs have been set. The elements in the given array are GsuPoolReference objects.
      • setGsuPoolReference

        void setGsuPoolReference​(GsuPoolReference gsuPoolReference)
        Sets a single G-S-U-Pool-Reference AVP in the Multiple-Services-Credit-Control AVP, of type Grouped.
        Throws:
        NullPointerException - if gsuPoolReference is null.
      • setGsuPoolReferences

        void setGsuPoolReferences​(GsuPoolReference[] gsuPoolReferences)
        Sets the set of G-S-U-Pool-Reference AVPs, with all the values in the given array. The AVPs will be added to the Multiple-Services-Credit-Control 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 getGsuPoolReferences() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if gsuPoolReferences is null.
      • removeGsuPoolReferences

        void removeGsuPoolReferences()
        Removes all G-S-U-Pool-Reference AVPs from the Multiple-Services-Credit-Control AVP. If no G-S-U-Pool-Reference AVPs are present, this method returns silently.
      • hasValidityTime

        boolean hasValidityTime()
        Returns true if the Validity-Time AVP is present in the Multiple-Services-Credit-Control AVP.
      • getValidityTime

        long getValidityTime()
        Returns the value of the Validity-Time AVP, of type Unsigned32. Use hasValidityTime() to check the existence of this AVP.
        Returns:
        the value of the Validity-Time AVP
        Throws:
        IllegalStateException - if the Validity-Time AVP has not been set.
      • setValidityTime

        void setValidityTime​(long validityTime)
        Sets the value of the Validity-Time AVP, of type Unsigned32.
      • removeValidityTime

        void removeValidityTime()
        Removes the Validity-Time AVP from the Multiple-Services-Credit-Control AVP. If the Validity-Time AVP is not present, this method returns silently.
      • hasResultCode

        boolean hasResultCode()
        Returns true if the Result-Code AVP is present in the Multiple-Services-Credit-Control AVP.
      • getResultCode

        long getResultCode()
        Returns the value of the Result-Code AVP, of type Unsigned32. Use hasResultCode() to check the existence of this AVP.
        Returns:
        the value of the Result-Code AVP
        Throws:
        IllegalStateException - if the Result-Code AVP has not been set.
      • setResultCode

        void setResultCode​(long resultCode)
        Sets the value of the Result-Code AVP, of type Unsigned32.
      • removeResultCode

        void removeResultCode()
        Removes the Result-Code AVP from the Multiple-Services-Credit-Control AVP. If the Result-Code AVP is not present, this method returns silently.
      • hasFinalUnitIndication

        boolean hasFinalUnitIndication()
        Returns true if the Final-Unit-Indication AVP is present in the Multiple-Services-Credit-Control AVP.
      • getFinalUnitIndication

        FinalUnitIndication getFinalUnitIndication()
        Returns the value of the Final-Unit-Indication AVP, of type Grouped.
        Returns:
        the value of the Final-Unit-Indication AVP, or null if it has not been set.
      • setFinalUnitIndication

        void setFinalUnitIndication​(FinalUnitIndication finalUnitIndication)
        Sets the value of the Final-Unit-Indication AVP, of type Grouped.
        Throws:
        NullPointerException - if finalUnitIndication is null.
      • removeFinalUnitIndication

        void removeFinalUnitIndication()
        Removes the Final-Unit-Indication AVP from the Multiple-Services-Credit-Control AVP. If the Final-Unit-Indication AVP is not present, this method returns silently.
      • hasTimeQuotaThreshold

        boolean hasTimeQuotaThreshold()
        Returns true if the Time-Quota-Threshold AVP is present in the Multiple-Services-Credit-Control AVP.
      • getTimeQuotaThreshold

        long getTimeQuotaThreshold()
        Returns the value of the Time-Quota-Threshold AVP, of type Unsigned32. Use hasTimeQuotaThreshold() to check the existence of this AVP.
        Returns:
        the value of the Time-Quota-Threshold AVP
        Throws:
        IllegalStateException - if the Time-Quota-Threshold AVP has not been set.
      • setTimeQuotaThreshold

        void setTimeQuotaThreshold​(long timeQuotaThreshold)
        Sets the value of the Time-Quota-Threshold AVP, of type Unsigned32.
      • removeTimeQuotaThreshold

        void removeTimeQuotaThreshold()
        Removes the Time-Quota-Threshold AVP from the Multiple-Services-Credit-Control AVP. If the Time-Quota-Threshold AVP is not present, this method returns silently.
      • hasVolumeQuotaThreshold

        boolean hasVolumeQuotaThreshold()
        Returns true if the Volume-Quota-Threshold AVP is present in the Multiple-Services-Credit-Control AVP.
      • getVolumeQuotaThreshold

        long getVolumeQuotaThreshold()
        Returns the value of the Volume-Quota-Threshold AVP, of type Unsigned32. Use hasVolumeQuotaThreshold() to check the existence of this AVP.
        Returns:
        the value of the Volume-Quota-Threshold AVP
        Throws:
        IllegalStateException - if the Volume-Quota-Threshold AVP has not been set.
      • setVolumeQuotaThreshold

        void setVolumeQuotaThreshold​(long volumeQuotaThreshold)
        Sets the value of the Volume-Quota-Threshold AVP, of type Unsigned32.
      • removeVolumeQuotaThreshold

        void removeVolumeQuotaThreshold()
        Removes the Volume-Quota-Threshold AVP from the Multiple-Services-Credit-Control AVP. If the Volume-Quota-Threshold AVP is not present, this method returns silently.
      • hasUnitQuotaThreshold

        boolean hasUnitQuotaThreshold()
        Returns true if the Unit-Quota-Threshold AVP is present in the Multiple-Services-Credit-Control AVP.
      • getUnitQuotaThreshold

        long getUnitQuotaThreshold()
        Returns the value of the Unit-Quota-Threshold AVP, of type Unsigned32. Use hasUnitQuotaThreshold() to check the existence of this AVP.
        Returns:
        the value of the Unit-Quota-Threshold AVP
        Throws:
        IllegalStateException - if the Unit-Quota-Threshold AVP has not been set.
      • setUnitQuotaThreshold

        void setUnitQuotaThreshold​(long unitQuotaThreshold)
        Sets the value of the Unit-Quota-Threshold AVP, of type Unsigned32.
      • removeUnitQuotaThreshold

        void removeUnitQuotaThreshold()
        Removes the Unit-Quota-Threshold AVP from the Multiple-Services-Credit-Control AVP. If the Unit-Quota-Threshold AVP is not present, this method returns silently.
      • hasQuotaHoldingTime

        boolean hasQuotaHoldingTime()
        Returns true if the Quota-Holding-Time AVP is present in the Multiple-Services-Credit-Control AVP.
      • getQuotaHoldingTime

        long getQuotaHoldingTime()
        Returns the value of the Quota-Holding-Time AVP, of type Unsigned32. Use hasQuotaHoldingTime() to check the existence of this AVP.
        Returns:
        the value of the Quota-Holding-Time AVP
        Throws:
        IllegalStateException - if the Quota-Holding-Time AVP has not been set.
      • setQuotaHoldingTime

        void setQuotaHoldingTime​(long quotaHoldingTime)
        Sets the value of the Quota-Holding-Time AVP, of type Unsigned32.
      • removeQuotaHoldingTime

        void removeQuotaHoldingTime()
        Removes the Quota-Holding-Time AVP from the Multiple-Services-Credit-Control AVP. If the Quota-Holding-Time AVP is not present, this method returns silently.
      • hasQuotaConsumptionTime

        boolean hasQuotaConsumptionTime()
        Returns true if the Quota-Consumption-Time AVP is present in the Multiple-Services-Credit-Control AVP.
      • getQuotaConsumptionTime

        long getQuotaConsumptionTime()
        Returns the value of the Quota-Consumption-Time AVP, of type Unsigned32. Use hasQuotaConsumptionTime() to check the existence of this AVP.
        Returns:
        the value of the Quota-Consumption-Time AVP
        Throws:
        IllegalStateException - if the Quota-Consumption-Time AVP has not been set.
      • setQuotaConsumptionTime

        void setQuotaConsumptionTime​(long quotaConsumptionTime)
        Sets the value of the Quota-Consumption-Time AVP, of type Unsigned32.
      • removeQuotaConsumptionTime

        void removeQuotaConsumptionTime()
        Removes the Quota-Consumption-Time AVP from the Multiple-Services-Credit-Control AVP. If the Quota-Consumption-Time AVP is not present, this method returns silently.
      • getReportingReasons

        ReportingReason[] getReportingReasons()
        Returns the set of Reporting-Reason AVPs. The returned array contains the AVPs in the order they appear in the Multiple-Services-Credit-Control AVP. A return value of null implies that no Reporting-Reason AVPs have been set. The elements in the given array are ReportingReason objects.
      • setReportingReason

        void setReportingReason​(ReportingReason reportingReason)
        Sets a single Reporting-Reason AVP in the Multiple-Services-Credit-Control AVP, of type Enumerated.
        Throws:
        NullPointerException - if reportingReason is null.
      • setReportingReasons

        void setReportingReasons​(ReportingReason[] reportingReasons)
        Sets the set of Reporting-Reason AVPs, with all the values in the given array. The AVPs will be added to the Multiple-Services-Credit-Control 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 getReportingReasons() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if reportingReasons is null.
      • removeReportingReasons

        void removeReportingReasons()
        Removes all Reporting-Reason AVPs from the Multiple-Services-Credit-Control AVP. If no Reporting-Reason AVPs are present, this method returns silently.
      • hasTrigger

        boolean hasTrigger()
        Returns true if the Trigger AVP is present in the Multiple-Services-Credit-Control AVP.
      • getTrigger

        Trigger getTrigger()
        Returns the value of the Trigger AVP, of type Grouped.
        Returns:
        the value of the Trigger AVP, or null if it has not been set.
      • setTrigger

        void setTrigger​(Trigger trigger)
        Sets the value of the Trigger AVP, of type Grouped.
        Throws:
        NullPointerException - if trigger is null.
      • removeTrigger

        void removeTrigger()
        Removes the Trigger AVP from the Multiple-Services-Credit-Control AVP. If the Trigger AVP is not present, this method returns silently.
      • hasPsFurnishChargingInformation

        boolean hasPsFurnishChargingInformation()
        Returns true if the PS-Furnish-Charging-Information AVP is present in the Multiple-Services-Credit-Control AVP.
      • getPsFurnishChargingInformation

        PsFurnishChargingInformation getPsFurnishChargingInformation()
        Returns the value of the PS-Furnish-Charging-Information AVP, of type Grouped.
        Returns:
        the value of the PS-Furnish-Charging-Information AVP, or null if it has not been set.
      • setPsFurnishChargingInformation

        void setPsFurnishChargingInformation​(PsFurnishChargingInformation psFurnishChargingInformation)
        Sets the value of the PS-Furnish-Charging-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if psFurnishChargingInformation is null.
      • removePsFurnishChargingInformation

        void removePsFurnishChargingInformation()
        Removes the PS-Furnish-Charging-Information AVP from the Multiple-Services-Credit-Control AVP. If the PS-Furnish-Charging-Information AVP is not present, this method returns silently.
      • getAfCorrelationInformations

        AfCorrelationInformation[] getAfCorrelationInformations()
        Returns the set of AF-Correlation-Information AVPs. The returned array contains the AVPs in the order they appear in the Multiple-Services-Credit-Control AVP. A return value of null implies that no AF-Correlation-Information AVPs have been set. The elements in the given array are AfCorrelationInformation objects.
      • setAfCorrelationInformation

        void setAfCorrelationInformation​(AfCorrelationInformation afCorrelationInformation)
        Sets a single AF-Correlation-Information AVP in the Multiple-Services-Credit-Control AVP, of type Grouped.
        Throws:
        NullPointerException - if afCorrelationInformation is null.
      • setAfCorrelationInformations

        void setAfCorrelationInformations​(AfCorrelationInformation[] afCorrelationInformations)
        Sets the set of AF-Correlation-Information AVPs, with all the values in the given array. The AVPs will be added to the Multiple-Services-Credit-Control 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 getAfCorrelationInformations() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if afCorrelationInformations is null.
      • removeAfCorrelationInformations

        void removeAfCorrelationInformations()
        Removes all AF-Correlation-Information AVPs from the Multiple-Services-Credit-Control AVP. If no AF-Correlation-Information AVPs are present, this method returns silently.
      • getEnvelopes

        Envelope[] getEnvelopes()
        Returns the set of Envelope AVPs. The returned array contains the AVPs in the order they appear in the Multiple-Services-Credit-Control AVP. A return value of null implies that no Envelope AVPs have been set. The elements in the given array are Envelope objects.
      • setEnvelope

        void setEnvelope​(Envelope envelope)
        Sets a single Envelope AVP in the Multiple-Services-Credit-Control AVP, of type Grouped.
        Throws:
        NullPointerException - if envelope is null.
      • setEnvelopes

        void setEnvelopes​(Envelope[] envelopes)
        Sets the set of Envelope AVPs, with all the values in the given array. The AVPs will be added to the Multiple-Services-Credit-Control 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 getEnvelopes() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if envelopes is null.
      • removeEnvelopes

        void removeEnvelopes()
        Removes all Envelope AVPs from the Multiple-Services-Credit-Control AVP. If no Envelope AVPs are present, this method returns silently.
      • hasEnvelopeReporting

        boolean hasEnvelopeReporting()
        Returns true if the Envelope-Reporting AVP is present in the Multiple-Services-Credit-Control AVP.
      • getEnvelopeReporting

        EnvelopeReporting getEnvelopeReporting()
        Returns the value of the Envelope-Reporting AVP, of type Enumerated.
        Returns:
        the value of the Envelope-Reporting AVP, or null if it has not been set.
      • setEnvelopeReporting

        void setEnvelopeReporting​(EnvelopeReporting envelopeReporting)
        Sets the value of the Envelope-Reporting AVP, of type Enumerated.
        Throws:
        NullPointerException - if envelopeReporting is null.
      • removeEnvelopeReporting

        void removeEnvelopeReporting()
        Removes the Envelope-Reporting AVP from the Multiple-Services-Credit-Control AVP. If the Envelope-Reporting AVP is not present, this method returns silently.
      • hasTimeQuotaMechanism

        boolean hasTimeQuotaMechanism()
        Returns true if the Time-Quota-Mechanism AVP is present in the Multiple-Services-Credit-Control AVP.
      • getTimeQuotaMechanism

        TimeQuotaMechanism getTimeQuotaMechanism()
        Returns the value of the Time-Quota-Mechanism AVP, of type Grouped.
        Returns:
        the value of the Time-Quota-Mechanism AVP, or null if it has not been set.
      • setTimeQuotaMechanism

        void setTimeQuotaMechanism​(TimeQuotaMechanism timeQuotaMechanism)
        Sets the value of the Time-Quota-Mechanism AVP, of type Grouped.
        Throws:
        NullPointerException - if timeQuotaMechanism is null.
      • removeTimeQuotaMechanism

        void removeTimeQuotaMechanism()
        Removes the Time-Quota-Mechanism AVP from the Multiple-Services-Credit-Control AVP. If the Time-Quota-Mechanism 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 Multiple-Services-Credit-Control 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 Multiple-Services-Credit-Control 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 Multiple-Services-Credit-Control AVP. If no extension AVPs are present, this method returns silently.