Interface CreditControlAnswer

  • All Superinterfaces:
    Cloneable, CreditControlMessage, DiameterMessage

    public interface CreditControlAnswer
    extends CreditControlMessage
    Defines an interface representing the Credit-Control-Answer command. From the Diameter Credit-Control Application (rfc4006.txt) specification:
     3.2   Credit-Control-Answer (CCA) Command 
     
        The Credit-Control-Answer message (CCA) is indicated by the command-
        code field being set to 272 and the 'R' bit being cleared in the
        Command Flags field.  It is used between the credit-control server
        and the Diameter credit-control client to acknowledge a Credit-
        Control-Request command. 
     
        Message Format 
     
           <Credit-Control-Answer> ::= < Diameter Header: 272, PXY >
                                       < Session-Id >
                                       { Result-Code }
                                       { Origin-Host }
                                       { Origin-Realm }
                                       { Auth-Application-Id }
                                       { CC-Request-Type }
                                       { CC-Request-Number }
                                       [ User-Name ]
                                       [ CC-Session-Failover ]
                                       [ CC-Sub-Session-Id ]
                                       [ Acct-Multi-Session-Id ]
                                       [ Origin-State-Id ]
                                       [ Event-Timestamp ]
                                       [ Granted-Service-Unit ]
                                      *[ Multiple-Services-Credit-Control ]
                                       [ Cost-Information]
                                       [ Final-Unit-Indication ]
                                       [ Check-Balance-Result ]
                                       [ Credit-Control-Failure-Handling ]
                                       [ Direct-Debiting-Failure-Handling ]
                                       [ Validity-Time]
                                      *[ Redirect-Host]
                                       [ Redirect-Host-Usage ]
                                       [ Redirect-Max-Cache-Time ]
                                      *[ Proxy-Info ]
                                      *[ Route-Record ]
                                      *[ Failed-AVP ]
                                      *[ 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.
      • 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.
      • 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.
      • 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.
      • hasGrantedServiceUnit

        boolean hasGrantedServiceUnit()
        Returns true if the Granted-Service-Unit AVP is present in the message.
      • 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 on this message
      • 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 message. If the Granted-Service-Unit 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.
      • hasFinalUnitIndication

        boolean hasFinalUnitIndication()
        Returns true if the Final-Unit-Indication AVP is present in the message.
      • 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 on this message
      • 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 message. If the Final-Unit-Indication AVP is not present, this method returns silently.
      • hasCheckBalanceResult

        boolean hasCheckBalanceResult()
        Returns true if the Check-Balance-Result AVP is present in the message.
      • getCheckBalanceResult

        CheckBalanceResult getCheckBalanceResult()
        Returns the value of the Check-Balance-Result AVP, of type Enumerated.
        Returns:
        the value of the Check-Balance-Result AVP or null if it has not been set on this message
      • setCheckBalanceResult

        void setCheckBalanceResult​(CheckBalanceResult checkBalanceResult)
        Sets the value of the Check-Balance-Result AVP, of type Enumerated.
        Throws:
        NullPointerException - if checkBalanceResult is null.
      • removeCheckBalanceResult

        void removeCheckBalanceResult()
        Removes the Check-Balance-Result AVP from the message. If the Check-Balance-Result 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.
      • hasValidityTime

        boolean hasValidityTime()
        Returns true if the Validity-Time AVP is present in the message.
      • 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 on this message
      • 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 message. If the Validity-Time 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.
      • 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.