Interface CreditControlRequest

  • All Superinterfaces:
    Cloneable, CreditControlMessage, DiameterMessage

    public interface CreditControlRequest
    extends CreditControlMessage
    Defines an interface representing the Credit-Control-Request command. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V7.9.0) specification:
     6.4.2 Credit-Control-Request Message
     The CCR messages, indicated by the Command-Code field set to 272 is sent by the CTF to the OCF in order to request credits for the request bearer / subsystem /service. 
     The CCR message format is defined according to IETF RFC 4006 [402] as follows:
     
        <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 ] 
                                      [ Origin-State-Id ] 
                                      [ Event-Timestamp ] 
                                     *[ Subscription-Id ]
                                      [ Termination-Cause ] 
                                      [ Requested-Action ] 
                                      [ Multiple-Services-Indicator ] 
                                     *[ Multiple-Services-Credit-Control ]
                                      [ User-Equipment-Info ] 
                                     *[ Proxy-Info ]
                                     *[ Route-Record ]
                                      [ Service-Information ]
                                     *[ 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • hasServiceInformation

        boolean hasServiceInformation()
        Returns true if the Service-Information AVP is present in the message.
      • getServiceInformation

        ServiceInformation getServiceInformation()
        Returns the value of the Service-Information AVP, of type Grouped.
        Returns:
        the value of the Service-Information AVP or null if it has not been set on this message
      • setServiceInformation

        void setServiceInformation​(ServiceInformation serviceInformation)
        Sets the value of the Service-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if serviceInformation is null.
      • removeServiceInformation

        void removeServiceInformation()
        Removes the Service-Information AVP from the message. If the Service-Information 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 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.