Interface CreditControlRequest

  • All Superinterfaces:
    Cloneable, CreditControlMessage, DiameterMessage

    public interface CreditControlRequest
    extends CreditControlMessage
    Defines an interface representing the Credit-Control-Request command. From the Diameter Credit-Control Application (rfc4006.txt) specification:
     3.1   Credit-Control-Request (CCR) Command 
     
        The Credit-Control-Request message (CCR) is indicated by the
        command-code field being set to 272 and the 'R' bit being set in the
        Command Flags field.  It is used between the Diameter credit-control
        client and the credit-control server to request credit authorization
        for a given service.
     
        The Auth-Application-Id MUST be set to the value 4, indicating the
        Diameter credit-control application.
     
        Message Format
     
           <Credit-Control-Request> ::= < Diameter Header: 272, REQ, PXY >
                                        < Session-Id >
                                        { Origin-Host }
                                        { Origin-Realm }
                                        { Destination-Realm }
                                        { Auth-Application-Id }
                                        { Service-Context-Id }
                                        { CC-Request-Type }
                                        { CC-Request-Number }
                                        [ Destination-Host ]
                                        [ User-Name ]
                                        [ CC-Sub-Session-Id ]
                                        [ Acct-Multi-Session-Id ]
                                        [ Origin-State-Id ]
                                        [ Event-Timestamp ]
                                       *[ Subscription-Id ]
                                        [ Service-Identifier ]
                                        [ Termination-Cause ]
                                        [ Requested-Service-Unit ]
                                        [ Requested-Action ]
                                       *[ Used-Service-Unit ]
                                        [ Multiple-Services-Indicator ]
                                       *[ Multiple-Services-Credit-Control ]
                                       *[ Service-Parameter-Info ]
                                        [ CC-Correlation-Id ]
                                        [ User-Equipment-Info ]
                                       *[ Proxy-Info ]
                                       *[ Route-Record ]
                                       *[ AVP ]
     
    • Method Detail

      • hasSessionId

        boolean hasSessionId()
        Returns true if the Session-Id AVP is present in the message.
        Specified by:
        hasSessionId in interface CreditControlMessage
      • removeSessionId

        void removeSessionId()
        Removes the Session-Id AVP from the message. If the Session-Id AVP is not present, this method returns silently.
      • hasOriginHost

        boolean hasOriginHost()
        Returns true if the Origin-Host AVP is present in the message.
        Specified by:
        hasOriginHost in interface CreditControlMessage
      • removeOriginHost

        void removeOriginHost()
        Removes the Origin-Host AVP from the message. If the Origin-Host AVP is not present, this method returns silently.
      • hasOriginRealm

        boolean hasOriginRealm()
        Returns true if the Origin-Realm AVP is present in the message.
        Specified by:
        hasOriginRealm in interface CreditControlMessage
      • removeOriginRealm

        void removeOriginRealm()
        Removes the Origin-Realm AVP from the message. If the Origin-Realm AVP is not present, this method returns silently.
      • hasDestinationRealm

        boolean hasDestinationRealm()
        Returns true if the Destination-Realm AVP is present in the message.
      • getDestinationRealm

        DiameterIdentity getDestinationRealm()
        Returns the value of the Destination-Realm AVP, of type DiameterIdentity.
        Specified by:
        getDestinationRealm in interface DiameterMessage
        Returns:
        the value of the Destination-Realm AVP or null if it has not been set on this message
      • removeDestinationRealm

        void removeDestinationRealm()
        Removes the Destination-Realm AVP from the message. If the Destination-Realm AVP is not present, this method returns silently.
      • setAuthApplicationId

        void setAuthApplicationId​(long authApplicationId)
        Sets the value of the Auth-Application-Id AVP, of type Unsigned32.
        Specified by:
        setAuthApplicationId in interface CreditControlMessage
      • removeAuthApplicationId

        void removeAuthApplicationId()
        Removes the Auth-Application-Id AVP from the message. If the Auth-Application-Id AVP is not present, this method returns silently.
      • hasServiceContextId

        boolean hasServiceContextId()
        Returns true if the Service-Context-Id AVP is present in the message.
      • getServiceContextId

        String getServiceContextId()
        Returns the value of the Service-Context-Id AVP, of type UTF8String.
        Returns:
        the value of the Service-Context-Id AVP or null if it has not been set on this message
      • setServiceContextId

        void setServiceContextId​(String serviceContextId)
        Sets the value of the Service-Context-Id AVP, of type UTF8String.
        Throws:
        NullPointerException - if serviceContextId is null.
      • removeServiceContextId

        void removeServiceContextId()
        Removes the Service-Context-Id AVP from the message. If the Service-Context-Id AVP is not present, this method returns silently.
      • hasCcRequestType

        boolean hasCcRequestType()
        Returns true if the CC-Request-Type AVP is present in the message.
        Specified by:
        hasCcRequestType in interface CreditControlMessage
      • getCcRequestType

        CcRequestType getCcRequestType()
        Returns the value of the CC-Request-Type AVP, of type Enumerated.
        Specified by:
        getCcRequestType in interface CreditControlMessage
        Returns:
        the value of the CC-Request-Type AVP or null if it has not been set on this message
      • removeCcRequestType

        void removeCcRequestType()
        Removes the CC-Request-Type AVP from the message. If the CC-Request-Type AVP is not present, this method returns silently.
      • setCcRequestNumber

        void setCcRequestNumber​(long ccRequestNumber)
        Sets the value of the CC-Request-Number AVP, of type Unsigned32.
        Specified by:
        setCcRequestNumber in interface CreditControlMessage
      • removeCcRequestNumber

        void removeCcRequestNumber()
        Removes the CC-Request-Number AVP from the message. If the CC-Request-Number AVP is not present, this method returns silently.
      • hasDestinationHost

        boolean hasDestinationHost()
        Returns true if the Destination-Host AVP is present in the message.
      • getDestinationHost

        DiameterIdentity getDestinationHost()
        Returns the value of the Destination-Host AVP, of type DiameterIdentity.
        Specified by:
        getDestinationHost in interface DiameterMessage
        Returns:
        the value of the Destination-Host AVP or null if it has not been set on this message
      • removeDestinationHost

        void removeDestinationHost()
        Removes the Destination-Host AVP from the message. If the Destination-Host AVP is not present, this method returns silently.
      • hasUserName

        boolean hasUserName()
        Returns true if the User-Name AVP is present in the message.
      • getUserName

        String getUserName()
        Returns the value of the User-Name AVP, of type UTF8String.
        Returns:
        the value of the User-Name AVP or null if it has not been set on this message
      • setUserName

        void setUserName​(String userName)
        Sets the value of the User-Name AVP, of type UTF8String.
        Throws:
        NullPointerException - if userName is null.
      • removeUserName

        void removeUserName()
        Removes the User-Name AVP from the message. If the User-Name AVP is not present, this method returns silently.
      • hasCcSubSessionId

        boolean hasCcSubSessionId()
        Returns true if the CC-Sub-Session-Id AVP is present in the message.
      • getCcSubSessionId

        long getCcSubSessionId()
        Returns the value of the CC-Sub-Session-Id AVP, of type Unsigned64. Use hasCcSubSessionId() to check the existence of this AVP.
        Returns:
        the value of the CC-Sub-Session-Id AVP
        Throws:
        IllegalStateException - if the CC-Sub-Session-Id AVP has not been set on this message
      • setCcSubSessionId

        void setCcSubSessionId​(long ccSubSessionId)
        Sets the value of the CC-Sub-Session-Id AVP, of type Unsigned64.
      • removeCcSubSessionId

        void removeCcSubSessionId()
        Removes the CC-Sub-Session-Id AVP from the message. If the CC-Sub-Session-Id AVP is not present, this method returns silently.
      • hasAcctMultiSessionId

        boolean hasAcctMultiSessionId()
        Returns true if the Acct-Multi-Session-Id AVP is present in the message.
      • getAcctMultiSessionId

        String getAcctMultiSessionId()
        Returns the value of the Acct-Multi-Session-Id AVP, of type UTF8String.
        Returns:
        the value of the Acct-Multi-Session-Id AVP or null if it has not been set on this message
      • setAcctMultiSessionId

        void setAcctMultiSessionId​(String acctMultiSessionId)
        Sets the value of the Acct-Multi-Session-Id AVP, of type UTF8String.
        Throws:
        NullPointerException - if acctMultiSessionId is null.
      • removeAcctMultiSessionId

        void removeAcctMultiSessionId()
        Removes the Acct-Multi-Session-Id AVP from the message. If the Acct-Multi-Session-Id AVP is not present, this method returns silently.
      • hasOriginStateId

        boolean hasOriginStateId()
        Returns true if the Origin-State-Id AVP is present in the message.
      • getOriginStateId

        long getOriginStateId()
        Returns the value of the Origin-State-Id AVP, of type Unsigned32. Use hasOriginStateId() to check the existence of this AVP.
        Returns:
        the value of the Origin-State-Id AVP
        Throws:
        IllegalStateException - if the Origin-State-Id AVP has not been set on this message
      • setOriginStateId

        void setOriginStateId​(long originStateId)
        Sets the value of the Origin-State-Id AVP, of type Unsigned32.
      • removeOriginStateId

        void removeOriginStateId()
        Removes the Origin-State-Id AVP from the message. If the Origin-State-Id AVP is not present, this method returns silently.
      • hasEventTimestamp

        boolean hasEventTimestamp()
        Returns true if the Event-Timestamp AVP is present in the message.
      • getEventTimestamp

        Date getEventTimestamp()
        Returns the value of the Event-Timestamp AVP, of type Time.
        Returns:
        the value of the Event-Timestamp AVP or null if it has not been set on this message
      • setEventTimestamp

        void setEventTimestamp​(Date eventTimestamp)
        Sets the value of the Event-Timestamp AVP, of type Time.
        Throws:
        NullPointerException - if eventTimestamp is null.
      • removeEventTimestamp

        void removeEventTimestamp()
        Removes the Event-Timestamp AVP from the message. If the Event-Timestamp AVP is not present, this method returns silently.
      • getSubscriptionIds

        SubscriptionId[] getSubscriptionIds()
        Returns the set of Subscription-Id AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Subscription-Id AVPs have been set. The elements in the given array are SubscriptionId objects.
      • setSubscriptionId

        void setSubscriptionId​(SubscriptionId subscriptionId)
        Sets a single Subscription-Id AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if subscriptionId is null.
      • setSubscriptionIds

        void setSubscriptionIds​(SubscriptionId[] subscriptionIds)
        Sets the set of Subscription-Id AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getSubscriptionIds() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if subscriptionIds is null.
      • removeSubscriptionIds

        void removeSubscriptionIds()
        Removes all Subscription-Id AVPs from the message. If no Subscription-Id AVPs are present, this method returns silently.
      • hasServiceIdentifier

        boolean hasServiceIdentifier()
        Returns true if the Service-Identifier AVP is present in the message.
      • getServiceIdentifier

        long getServiceIdentifier()
        Returns the value of the Service-Identifier AVP, of type Unsigned32. Use hasServiceIdentifier() to check the existence of this AVP.
        Returns:
        the value of the Service-Identifier AVP
        Throws:
        IllegalStateException - if the Service-Identifier AVP has not been set on this message
      • setServiceIdentifier

        void setServiceIdentifier​(long serviceIdentifier)
        Sets the value of the Service-Identifier AVP, of type Unsigned32.
      • removeServiceIdentifier

        void removeServiceIdentifier()
        Removes the Service-Identifier AVP from the message. If the Service-Identifier AVP is not present, this method returns silently.
      • hasTerminationCause

        boolean hasTerminationCause()
        Returns true if the Termination-Cause AVP is present in the message.
      • getTerminationCause

        TerminationCause getTerminationCause()
        Returns the value of the Termination-Cause AVP, of type Enumerated.
        Returns:
        the value of the Termination-Cause AVP or null if it has not been set on this message
      • setTerminationCause

        void setTerminationCause​(TerminationCause terminationCause)
        Sets the value of the Termination-Cause AVP, of type Enumerated.
        Throws:
        NullPointerException - if terminationCause is null.
      • removeTerminationCause

        void removeTerminationCause()
        Removes the Termination-Cause AVP from the message. If the Termination-Cause AVP is not present, this method returns silently.
      • hasRequestedServiceUnit

        boolean hasRequestedServiceUnit()
        Returns true if the Requested-Service-Unit AVP is present in the message.
      • 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 on this message
      • 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 message. If the Requested-Service-Unit AVP is not present, this method returns silently.
      • hasRequestedAction

        boolean hasRequestedAction()
        Returns true if the Requested-Action AVP is present in the message.
      • getRequestedAction

        RequestedAction getRequestedAction()
        Returns the value of the Requested-Action AVP, of type Enumerated.
        Returns:
        the value of the Requested-Action AVP or null if it has not been set on this message
      • setRequestedAction

        void setRequestedAction​(RequestedAction requestedAction)
        Sets the value of the Requested-Action AVP, of type Enumerated.
        Throws:
        NullPointerException - if requestedAction is null.
      • removeRequestedAction

        void removeRequestedAction()
        Removes the Requested-Action AVP from the message. If the Requested-Action 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 message. 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 message, 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 message 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 message. If no Used-Service-Unit AVPs are present, this method returns silently.
      • hasMultipleServicesIndicator

        boolean hasMultipleServicesIndicator()
        Returns true if the Multiple-Services-Indicator AVP is present in the message.
      • getMultipleServicesIndicator

        MultipleServicesIndicator getMultipleServicesIndicator()
        Returns the value of the Multiple-Services-Indicator AVP, of type Enumerated.
        Returns:
        the value of the Multiple-Services-Indicator AVP or null if it has not been set on this message
      • setMultipleServicesIndicator

        void setMultipleServicesIndicator​(MultipleServicesIndicator multipleServicesIndicator)
        Sets the value of the Multiple-Services-Indicator AVP, of type Enumerated.
        Throws:
        NullPointerException - if multipleServicesIndicator is null.
      • removeMultipleServicesIndicator

        void removeMultipleServicesIndicator()
        Removes the Multiple-Services-Indicator AVP from the message. If the Multiple-Services-Indicator AVP is not present, this method returns silently.
      • getMultipleServicesCreditControls

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

        void setMultipleServicesCreditControl​(MultipleServicesCreditControl multipleServicesCreditControl)
        Sets a single Multiple-Services-Credit-Control AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if multipleServicesCreditControl is null.
      • setMultipleServicesCreditControls

        void setMultipleServicesCreditControls​(MultipleServicesCreditControl[] multipleServicesCreditControls)
        Sets the set of Multiple-Services-Credit-Control AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getMultipleServicesCreditControls() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if multipleServicesCreditControls is null.
      • removeMultipleServicesCreditControls

        void removeMultipleServicesCreditControls()
        Removes all Multiple-Services-Credit-Control AVPs from the message. If no Multiple-Services-Credit-Control AVPs are present, this method returns silently.
      • getServiceParameterInfos

        ServiceParameterInfo[] getServiceParameterInfos()
        Returns the set of Service-Parameter-Info AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Service-Parameter-Info AVPs have been set. The elements in the given array are ServiceParameterInfo objects.
      • setServiceParameterInfo

        void setServiceParameterInfo​(ServiceParameterInfo serviceParameterInfo)
        Sets a single Service-Parameter-Info AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if serviceParameterInfo is null.
      • setServiceParameterInfos

        void setServiceParameterInfos​(ServiceParameterInfo[] serviceParameterInfos)
        Sets the set of Service-Parameter-Info AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getServiceParameterInfos() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if serviceParameterInfos is null.
      • removeServiceParameterInfos

        void removeServiceParameterInfos()
        Removes all Service-Parameter-Info AVPs from the message. If no Service-Parameter-Info AVPs are present, this method returns silently.
      • hasCcCorrelationId

        boolean hasCcCorrelationId()
        Returns true if the CC-Correlation-Id AVP is present in the message.
      • getCcCorrelationId

        byte[] getCcCorrelationId()
        Returns the value of the CC-Correlation-Id AVP, of type OctetString.
        Returns:
        the value of the CC-Correlation-Id AVP or null if it has not been set on this message
      • setCcCorrelationId

        void setCcCorrelationId​(byte[] ccCorrelationId)
        Sets the value of the CC-Correlation-Id AVP, of type OctetString.
        Throws:
        NullPointerException - if ccCorrelationId is null.
      • removeCcCorrelationId

        void removeCcCorrelationId()
        Removes the CC-Correlation-Id AVP from the message. If the CC-Correlation-Id AVP is not present, this method returns silently.
      • hasUserEquipmentInfo

        boolean hasUserEquipmentInfo()
        Returns true if the User-Equipment-Info AVP is present in the message.
      • getUserEquipmentInfo

        UserEquipmentInfo getUserEquipmentInfo()
        Returns the value of the User-Equipment-Info AVP, of type Grouped.
        Returns:
        the value of the User-Equipment-Info AVP or null if it has not been set on this message
      • setUserEquipmentInfo

        void setUserEquipmentInfo​(UserEquipmentInfo userEquipmentInfo)
        Sets the value of the User-Equipment-Info AVP, of type Grouped.
        Throws:
        NullPointerException - if userEquipmentInfo is null.
      • removeUserEquipmentInfo

        void removeUserEquipmentInfo()
        Removes the User-Equipment-Info AVP from the message. If the User-Equipment-Info AVP is not present, this method returns silently.
      • getProxyInfos

        ProxyInfo[] getProxyInfos()
        Returns the set of Proxy-Info AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Proxy-Info AVPs have been set. The elements in the given array are ProxyInfo objects.
        Specified by:
        getProxyInfos in interface CreditControlMessage
      • setProxyInfos

        void setProxyInfos​(ProxyInfo[] proxyInfos)
        Sets the set of Proxy-Info AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getProxyInfos() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Specified by:
        setProxyInfos in interface CreditControlMessage
        Throws:
        NullPointerException - if proxyInfos is null.
      • removeProxyInfos

        void removeProxyInfos()
        Removes all Proxy-Info AVPs from the message. If no Proxy-Info AVPs are present, this method returns silently.
      • getRouteRecords

        DiameterIdentity[] getRouteRecords()
        Returns the set of Route-Record AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Route-Record AVPs have been set. The elements in the given array are DiameterIdentity objects.
        Specified by:
        getRouteRecords in interface CreditControlMessage
      • setRouteRecords

        void setRouteRecords​(DiameterIdentity[] routeRecords)
        Sets the set of Route-Record AVPs, with all the values in the given array. The AVPs will be added to message in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getRouteRecords() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Specified by:
        setRouteRecords in interface CreditControlMessage
        Throws:
        NullPointerException - if routeRecords is null.
      • removeRouteRecords

        void removeRouteRecords()
        Removes all Route-Record AVPs from the message. If no Route-Record 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 message. 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 message 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 message. If no extension AVPs are present, this method returns silently.