Interface CreditControlAnswer

  • All Superinterfaces:
    Cloneable, CreditControlMessage, DiameterMessage

    public interface CreditControlAnswer
    extends CreditControlMessage
    Defines an interface representing the Credit-Control-Answer command. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V9.6.0) specification:
     6.4.3 Credit-Control-Answer Message
     
     The Credit-Control-Answer (CCA) messages, indicated by the Command-Code field set to 272 is sent by the OCF to the CTF in order to reply to the CCR. 
     The CCA message format is defined according to IETF RFC 4006.
     
           <Credit-Control-Answer> ::=  < Diameter Header: 272, PXY >
                                          < Session-Id > 
                                          { Result-Code } 
                                          { Origin-Host } 
                                          { Origin-Realm } 
                                          { Auth-Application-Id } 
                                          { CC-Request-Type } 
                                          { CC-Request-Number } 
                                          [ CC-Session-Failover ] 
                                         *[ Multiple-Services-Credit-Control ]  
                                          [ Cost-Information]  
                                          [ Low-Balance-Indication ]  
                                          [ Remaining-Balance ]  
                                          [ Credit-Control-Failure-Handling ] 
                                          [ Direct-Debiting-Failure-Handling ] 
                                         *[ Redirect-Host] 
                                          [ Redirect-Host-Usage ] 
                                          [ Redirect-Max-Cache-Time ] 
                                         *[ Proxy-Info ] 
                                         *[ Route-Record ] 
                                         *[ Failed-AVP ]
                                          [ 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.
      • hasResultCode

        boolean hasResultCode()
        Returns true if the Result-Code AVP is present in the message.
      • 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 on this message
      • 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 message. If the Result-Code 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.
      • 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.
      • 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.
      • hasCcSessionFailover

        boolean hasCcSessionFailover()
        Returns true if the CC-Session-Failover AVP is present in the message.
      • getCcSessionFailover

        CcSessionFailover getCcSessionFailover()
        Returns the value of the CC-Session-Failover AVP, of type Enumerated.
        Returns:
        the value of the CC-Session-Failover AVP or null if it has not been set on this message
      • setCcSessionFailover

        void setCcSessionFailover​(CcSessionFailover ccSessionFailover)
        Sets the value of the CC-Session-Failover AVP, of type Enumerated.
        Throws:
        NullPointerException - if ccSessionFailover is null.
      • removeCcSessionFailover

        void removeCcSessionFailover()
        Removes the CC-Session-Failover AVP from the message. If the CC-Session-Failover 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.
      • hasCostInformation

        boolean hasCostInformation()
        Returns true if the Cost-Information AVP is present in the message.
      • getCostInformation

        CostInformation getCostInformation()
        Returns the value of the Cost-Information AVP, of type Grouped.
        Returns:
        the value of the Cost-Information AVP or null if it has not been set on this message
      • setCostInformation

        void setCostInformation​(CostInformation costInformation)
        Sets the value of the Cost-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if costInformation is null.
      • removeCostInformation

        void removeCostInformation()
        Removes the Cost-Information AVP from the message. If the Cost-Information AVP is not present, this method returns silently.
      • hasLowBalanceIndication

        boolean hasLowBalanceIndication()
        Returns true if the Low-Balance-Indication AVP is present in the message.
      • getLowBalanceIndication

        LowBalanceIndication getLowBalanceIndication()
        Returns the value of the Low-Balance-Indication AVP, of type Enumerated.
        Returns:
        the value of the Low-Balance-Indication AVP or null if it has not been set on this message
      • setLowBalanceIndication

        void setLowBalanceIndication​(LowBalanceIndication lowBalanceIndication)
        Sets the value of the Low-Balance-Indication AVP, of type Enumerated.
        Throws:
        NullPointerException - if lowBalanceIndication is null.
      • removeLowBalanceIndication

        void removeLowBalanceIndication()
        Removes the Low-Balance-Indication AVP from the message. If the Low-Balance-Indication AVP is not present, this method returns silently.
      • hasRemainingBalance

        boolean hasRemainingBalance()
        Returns true if the Remaining-Balance AVP is present in the message.
      • getRemainingBalance

        RemainingBalance getRemainingBalance()
        Returns the value of the Remaining-Balance AVP, of type Grouped.
        Returns:
        the value of the Remaining-Balance AVP or null if it has not been set on this message
      • setRemainingBalance

        void setRemainingBalance​(RemainingBalance remainingBalance)
        Sets the value of the Remaining-Balance AVP, of type Grouped.
        Throws:
        NullPointerException - if remainingBalance is null.
      • removeRemainingBalance

        void removeRemainingBalance()
        Removes the Remaining-Balance AVP from the message. If the Remaining-Balance AVP is not present, this method returns silently.
      • hasCreditControlFailureHandling

        boolean hasCreditControlFailureHandling()
        Returns true if the Credit-Control-Failure-Handling AVP is present in the message.
      • getCreditControlFailureHandling

        CreditControlFailureHandling getCreditControlFailureHandling()
        Returns the value of the Credit-Control-Failure-Handling AVP, of type Enumerated.
        Returns:
        the value of the Credit-Control-Failure-Handling AVP or null if it has not been set on this message
      • setCreditControlFailureHandling

        void setCreditControlFailureHandling​(CreditControlFailureHandling creditControlFailureHandling)
        Sets the value of the Credit-Control-Failure-Handling AVP, of type Enumerated.
        Throws:
        NullPointerException - if creditControlFailureHandling is null.
      • removeCreditControlFailureHandling

        void removeCreditControlFailureHandling()
        Removes the Credit-Control-Failure-Handling AVP from the message. If the Credit-Control-Failure-Handling AVP is not present, this method returns silently.
      • hasDirectDebitingFailureHandling

        boolean hasDirectDebitingFailureHandling()
        Returns true if the Direct-Debiting-Failure-Handling AVP is present in the message.
      • getDirectDebitingFailureHandling

        DirectDebitingFailureHandling getDirectDebitingFailureHandling()
        Returns the value of the Direct-Debiting-Failure-Handling AVP, of type Enumerated.
        Returns:
        the value of the Direct-Debiting-Failure-Handling AVP or null if it has not been set on this message
      • setDirectDebitingFailureHandling

        void setDirectDebitingFailureHandling​(DirectDebitingFailureHandling directDebitingFailureHandling)
        Sets the value of the Direct-Debiting-Failure-Handling AVP, of type Enumerated.
        Throws:
        NullPointerException - if directDebitingFailureHandling is null.
      • removeDirectDebitingFailureHandling

        void removeDirectDebitingFailureHandling()
        Removes the Direct-Debiting-Failure-Handling AVP from the message. If the Direct-Debiting-Failure-Handling AVP is not present, this method returns silently.
      • getRedirectHosts

        DiameterURI[] getRedirectHosts()
        Returns the set of Redirect-Host AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Redirect-Host AVPs have been set. The elements in the given array are DiameterURI objects.
      • setRedirectHost

        void setRedirectHost​(DiameterURI redirectHost)
        Sets a single Redirect-Host AVP in the message, of type DiameterURI.
        Throws:
        NullPointerException - if redirectHost is null.
      • setRedirectHosts

        void setRedirectHosts​(DiameterURI[] redirectHosts)
        Sets the set of Redirect-Host 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 getRedirectHosts() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if redirectHosts is null.
      • removeRedirectHosts

        void removeRedirectHosts()
        Removes all Redirect-Host AVPs from the message. If no Redirect-Host AVPs are present, this method returns silently.
      • hasRedirectHostUsage

        boolean hasRedirectHostUsage()
        Returns true if the Redirect-Host-Usage AVP is present in the message.
      • getRedirectHostUsage

        RedirectHostUsage getRedirectHostUsage()
        Returns the value of the Redirect-Host-Usage AVP, of type Enumerated.
        Returns:
        the value of the Redirect-Host-Usage AVP or null if it has not been set on this message
      • setRedirectHostUsage

        void setRedirectHostUsage​(RedirectHostUsage redirectHostUsage)
        Sets the value of the Redirect-Host-Usage AVP, of type Enumerated.
        Throws:
        NullPointerException - if redirectHostUsage is null.
      • removeRedirectHostUsage

        void removeRedirectHostUsage()
        Removes the Redirect-Host-Usage AVP from the message. If the Redirect-Host-Usage AVP is not present, this method returns silently.
      • hasRedirectMaxCacheTime

        boolean hasRedirectMaxCacheTime()
        Returns true if the Redirect-Max-Cache-Time AVP is present in the message.
      • getRedirectMaxCacheTime

        long getRedirectMaxCacheTime()
        Returns the value of the Redirect-Max-Cache-Time AVP, of type Unsigned32. Use hasRedirectMaxCacheTime() to check the existence of this AVP.
        Returns:
        the value of the Redirect-Max-Cache-Time AVP
        Throws:
        IllegalStateException - if the Redirect-Max-Cache-Time AVP has not been set on this message
      • setRedirectMaxCacheTime

        void setRedirectMaxCacheTime​(long redirectMaxCacheTime)
        Sets the value of the Redirect-Max-Cache-Time AVP, of type Unsigned32.
      • removeRedirectMaxCacheTime

        void removeRedirectMaxCacheTime()
        Removes the Redirect-Max-Cache-Time AVP from the message. If the Redirect-Max-Cache-Time 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.
      • getFailedAvps

        FailedAvp[] getFailedAvps()
        Returns the set of Failed-AVP AVPs. The returned array contains the AVPs in the order they appear in the message. A return value of null implies that no Failed-AVP AVPs have been set. The elements in the given array are FailedAvp objects.
      • setFailedAvp

        void setFailedAvp​(FailedAvp failedAvp)
        Sets a single Failed-AVP AVP in the message, of type Grouped.
        Throws:
        NullPointerException - if failedAvp is null.
      • setFailedAvps

        void setFailedAvps​(FailedAvp[] failedAvps)
        Sets the set of Failed-AVP 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 getFailedAvps() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if failedAvps is null.
      • removeFailedAvps

        void removeFailedAvps()
        Removes all Failed-AVP AVPs from the message. If no Failed-AVP 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.