Interface ChargingRuleDefinition
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface ChargingRuleDefinition extends GroupedAvp
Defines an interface representing the Charging-Rule-Definition grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V11.9.0) specification:5.3.4 Charging-Rule-Definition The Charging-Rule-Definition AVP (AVP code 1003) is of type Grouped, and it defines the PCC rule sent by the PCRF to the PCEF. The Charging-Rule-Name AVP uniquely identifies the PCC rule and it is used to reference to a PCC rule in communication between the PCEF and the PCRF within one IP CAN session. The Flow-Information AVP(s) or the application detection filter referenced by the TDF-Application-Identifier AVP determines the traffic that belongs to the service data flow. Either Flow-Information AVP(s) or TDF-Application-Identifier AVP shall exist in a Charging-Rule-Definition AVP. If optional AVP(s) within a Charging-Rule-Definition AVP are omitted, but corresponding information has been provided in previous Gx messages, the previous information remains valid. If Flow-Information AVP(s) are supplied, they replace all previous Flow-Information AVP(s). If Flows AVP(s) are supplied, they replace all previous Flows AVP(s). The PS-to-CS-Session-Continuity AVP indicates if a service data flow is a candidate for PS to CS session continuity. Flows AVP may appear if and only if AF-Charging-Identifier AVP is also present. AF-Signalling-Protocol AVP may appear if the PCC Rule applies for IMS signalling. Monitoring-Key AVP contains the monitoring key that may apply to the PCC rule. Mute-Notification AVP value shall not be changed during an active IP-CAN session. Sponsor-Identity AVP and Application-Service-Provider-Identity AVP shall be included if the Reporting-Level AVP is set to the value SPONSORED_CONNECTIVITY_LEVEL for the service data flow. Required-Access-Info AVP may appear if the AF requests PCRF to report user access network information. It has the following ABNF grammar: Charging-Rule-Definition ::= < AVP Header: 1003 > { Charging-Rule-Name } [ Service-Identifier ] [ Rating-Group ] *[ Flow-Information ] [ TDF-Application-Identifier ] [ Flow-Status ] [ QoS-Information ] [ PS-to-CS-Session-Continuity ] [ Reporting-Level ] [ Online ] [ Offline ] [ Metering-Method ] [ Precedence ] [ AF-Charging-Identifier ] *[ Flows ] [ Monitoring-Key] [ Redirect-Information ] [ Mute-Notification ] [ AF-Signalling-Protocol ] [ Sponsor-Identity ] [ Application-Service-Provider-Identity ] *[ Required-Access-Info ] *[ AVP ]
-
-
Field Summary
-
Fields inherited from interface org.jainslee.resources.diameter.base.DiameterAvp
FLAG_RULE_MAY, FLAG_RULE_MUST, FLAG_RULE_MUSTNOT
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description byte[]
getAfChargingIdentifier()
Returns the value of the AF-Charging-Identifier AVP, of type OctetString.AfSignallingProtocol
getAfSignallingProtocol()
Returns the value of the AF-Signalling-Protocol AVP, of type Enumerated.byte[]
getApplicationServiceProviderIdentity()
Returns the value of the Application-Service-Provider-Identity AVP, of type OctetString.byte[]
getChargingRuleName()
Returns the value of the Charging-Rule-Name AVP, of type OctetString.DiameterAvp[]
getExtensionAvps()
Returns the set of extension AVPs.FlowInformation[]
getFlowInformations()
Returns the set of Flow-Information AVPs.Flows[]
getFlowses()
Returns the set of Flows AVPs.FlowStatus
getFlowStatus()
Returns the value of the Flow-Status AVP, of type Enumerated.MeteringMethod
getMeteringMethod()
Returns the value of the Metering-Method AVP, of type Enumerated.byte[]
getMonitoringKey()
Returns the value of the Monitoring-Key AVP, of type OctetString.MuteNotification
getMuteNotification()
Returns the value of the Mute-Notification AVP, of type Enumerated.Offline
getOffline()
Returns the value of the Offline AVP, of type Enumerated.Online
getOnline()
Returns the value of the Online AVP, of type Enumerated.long
getPrecedence()
Returns the value of the Precedence AVP, of type Unsigned32.PsToCsSessionContinuity
getPsToCsSessionContinuity()
Returns the value of the PS-to-CS-Session-Continuity AVP, of type Enumerated.QosInformation
getQosInformation()
Returns the value of the QoS-Information AVP, of type Grouped.long
getRatingGroup()
Returns the value of the Rating-Group AVP, of type Unsigned32.RedirectInformation
getRedirectInformation()
Returns the value of the Redirect-Information AVP, of type Grouped.ReportingLevel
getReportingLevel()
Returns the value of the Reporting-Level AVP, of type Enumerated.RequiredAccessInfo[]
getRequiredAccessInfos()
Returns the set of Required-Access-Info AVPs.long
getServiceIdentifier()
Returns the value of the Service-Identifier AVP, of type Unsigned32.byte[]
getSponsorIdentity()
Returns the value of the Sponsor-Identity AVP, of type OctetString.byte[]
getTdfApplicationIdentifier()
Returns the value of the TDF-Application-Identifier AVP, of type OctetString.boolean
hasAfChargingIdentifier()
Returns true if the AF-Charging-Identifier AVP is present in the Charging-Rule-Definition AVP.boolean
hasAfSignallingProtocol()
Returns true if the AF-Signalling-Protocol AVP is present in the Charging-Rule-Definition AVP.boolean
hasApplicationServiceProviderIdentity()
Returns true if the Application-Service-Provider-Identity AVP is present in the Charging-Rule-Definition AVP.boolean
hasChargingRuleName()
Returns true if the Charging-Rule-Name AVP is present in the Charging-Rule-Definition AVP.boolean
hasFlowStatus()
Returns true if the Flow-Status AVP is present in the Charging-Rule-Definition AVP.boolean
hasMeteringMethod()
Returns true if the Metering-Method AVP is present in the Charging-Rule-Definition AVP.boolean
hasMonitoringKey()
Returns true if the Monitoring-Key AVP is present in the Charging-Rule-Definition AVP.boolean
hasMuteNotification()
Returns true if the Mute-Notification AVP is present in the Charging-Rule-Definition AVP.boolean
hasOffline()
Returns true if the Offline AVP is present in the Charging-Rule-Definition AVP.boolean
hasOnline()
Returns true if the Online AVP is present in the Charging-Rule-Definition AVP.boolean
hasPrecedence()
Returns true if the Precedence AVP is present in the Charging-Rule-Definition AVP.boolean
hasPsToCsSessionContinuity()
Returns true if the PS-to-CS-Session-Continuity AVP is present in the Charging-Rule-Definition AVP.boolean
hasQosInformation()
Returns true if the QoS-Information AVP is present in the Charging-Rule-Definition AVP.boolean
hasRatingGroup()
Returns true if the Rating-Group AVP is present in the Charging-Rule-Definition AVP.boolean
hasRedirectInformation()
Returns true if the Redirect-Information AVP is present in the Charging-Rule-Definition AVP.boolean
hasReportingLevel()
Returns true if the Reporting-Level AVP is present in the Charging-Rule-Definition AVP.boolean
hasServiceIdentifier()
Returns true if the Service-Identifier AVP is present in the Charging-Rule-Definition AVP.boolean
hasSponsorIdentity()
Returns true if the Sponsor-Identity AVP is present in the Charging-Rule-Definition AVP.boolean
hasTdfApplicationIdentifier()
Returns true if the TDF-Application-Identifier AVP is present in the Charging-Rule-Definition AVP.void
removeAfChargingIdentifier()
Removes the AF-Charging-Identifier AVP from the Charging-Rule-Definition AVP.void
removeAfSignallingProtocol()
Removes the AF-Signalling-Protocol AVP from the Charging-Rule-Definition AVP.void
removeApplicationServiceProviderIdentity()
Removes the Application-Service-Provider-Identity AVP from the Charging-Rule-Definition AVP.void
removeChargingRuleName()
Removes the Charging-Rule-Name AVP from the Charging-Rule-Definition AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Charging-Rule-Definition AVP.void
removeFlowInformations()
Removes all Flow-Information AVPs from the Charging-Rule-Definition AVP.void
removeFlowses()
Removes all Flows AVPs from the Charging-Rule-Definition AVP.void
removeFlowStatus()
Removes the Flow-Status AVP from the Charging-Rule-Definition AVP.void
removeMeteringMethod()
Removes the Metering-Method AVP from the Charging-Rule-Definition AVP.void
removeMonitoringKey()
Removes the Monitoring-Key AVP from the Charging-Rule-Definition AVP.void
removeMuteNotification()
Removes the Mute-Notification AVP from the Charging-Rule-Definition AVP.void
removeOffline()
Removes the Offline AVP from the Charging-Rule-Definition AVP.void
removeOnline()
Removes the Online AVP from the Charging-Rule-Definition AVP.void
removePrecedence()
Removes the Precedence AVP from the Charging-Rule-Definition AVP.void
removePsToCsSessionContinuity()
Removes the PS-to-CS-Session-Continuity AVP from the Charging-Rule-Definition AVP.void
removeQosInformation()
Removes the QoS-Information AVP from the Charging-Rule-Definition AVP.void
removeRatingGroup()
Removes the Rating-Group AVP from the Charging-Rule-Definition AVP.void
removeRedirectInformation()
Removes the Redirect-Information AVP from the Charging-Rule-Definition AVP.void
removeReportingLevel()
Removes the Reporting-Level AVP from the Charging-Rule-Definition AVP.void
removeRequiredAccessInfos()
Removes all Required-Access-Info AVPs from the Charging-Rule-Definition AVP.void
removeServiceIdentifier()
Removes the Service-Identifier AVP from the Charging-Rule-Definition AVP.void
removeSponsorIdentity()
Removes the Sponsor-Identity AVP from the Charging-Rule-Definition AVP.void
removeTdfApplicationIdentifier()
Removes the TDF-Application-Identifier AVP from the Charging-Rule-Definition AVP.void
setAfChargingIdentifier(byte[] afChargingIdentifier)
Sets the value of the AF-Charging-Identifier AVP, of type OctetString.void
setAfSignallingProtocol(AfSignallingProtocol afSignallingProtocol)
Sets the value of the AF-Signalling-Protocol AVP, of type Enumerated.void
setApplicationServiceProviderIdentity(byte[] applicationServiceProviderIdentity)
Sets the value of the Application-Service-Provider-Identity AVP, of type OctetString.void
setChargingRuleName(byte[] chargingRuleName)
Sets the value of the Charging-Rule-Name AVP, of type OctetString.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setFlowInformation(FlowInformation flowInformation)
Sets a single Flow-Information AVP in the Charging-Rule-Definition AVP, of type Grouped.void
setFlowInformations(FlowInformation[] flowInformations)
Sets the set of Flow-Information AVPs, with all the values in the given array.void
setFlows(Flows flows)
Sets a single Flows AVP in the Charging-Rule-Definition AVP, of type Grouped.void
setFlowses(Flows[] flowses)
Sets the set of Flows AVPs, with all the values in the given array.void
setFlowStatus(FlowStatus flowStatus)
Sets the value of the Flow-Status AVP, of type Enumerated.void
setMeteringMethod(MeteringMethod meteringMethod)
Sets the value of the Metering-Method AVP, of type Enumerated.void
setMonitoringKey(byte[] monitoringKey)
Sets the value of the Monitoring-Key AVP, of type OctetString.void
setMuteNotification(MuteNotification muteNotification)
Sets the value of the Mute-Notification AVP, of type Enumerated.void
setOffline(Offline offline)
Sets the value of the Offline AVP, of type Enumerated.void
setOnline(Online online)
Sets the value of the Online AVP, of type Enumerated.void
setPrecedence(long precedence)
Sets the value of the Precedence AVP, of type Unsigned32.void
setPsToCsSessionContinuity(PsToCsSessionContinuity psToCsSessionContinuity)
Sets the value of the PS-to-CS-Session-Continuity AVP, of type Enumerated.void
setQosInformation(QosInformation qosInformation)
Sets the value of the QoS-Information AVP, of type Grouped.void
setRatingGroup(long ratingGroup)
Sets the value of the Rating-Group AVP, of type Unsigned32.void
setRedirectInformation(RedirectInformation redirectInformation)
Sets the value of the Redirect-Information AVP, of type Grouped.void
setReportingLevel(ReportingLevel reportingLevel)
Sets the value of the Reporting-Level AVP, of type Enumerated.void
setRequiredAccessInfo(RequiredAccessInfo requiredAccessInfo)
Sets a single Required-Access-Info AVP in the Charging-Rule-Definition AVP, of type Enumerated.void
setRequiredAccessInfos(RequiredAccessInfo[] requiredAccessInfos)
Sets the set of Required-Access-Info AVPs, with all the values in the given array.void
setServiceIdentifier(long serviceIdentifier)
Sets the value of the Service-Identifier AVP, of type Unsigned32.void
setSponsorIdentity(byte[] sponsorIdentity)
Sets the value of the Sponsor-Identity AVP, of type OctetString.void
setTdfApplicationIdentifier(byte[] tdfApplicationIdentifier)
Sets the value of the TDF-Application-Identifier AVP, of type OctetString.-
Methods inherited from interface org.jainslee.resources.diameter.base.DiameterAvp
byteArrayValue, clone, doubleValue, floatValue, getCode, getMandatoryRule, getName, getProtectedRule, getType, getVendorID, groupedAvpValue, intValue, longValue, stringValue
-
-
-
-
Method Detail
-
hasChargingRuleName
boolean hasChargingRuleName()
Returns true if the Charging-Rule-Name AVP is present in the Charging-Rule-Definition AVP.
-
getChargingRuleName
byte[] getChargingRuleName()
Returns the value of the Charging-Rule-Name AVP, of type OctetString.- Returns:
- the value of the Charging-Rule-Name AVP, or null if it has not been set.
-
setChargingRuleName
void setChargingRuleName(byte[] chargingRuleName)
Sets the value of the Charging-Rule-Name AVP, of type OctetString.- Throws:
NullPointerException
- ifchargingRuleName
isnull
.
-
removeChargingRuleName
void removeChargingRuleName()
Removes the Charging-Rule-Name AVP from the Charging-Rule-Definition AVP. If the Charging-Rule-Name AVP is not present, this method returns silently.
-
hasServiceIdentifier
boolean hasServiceIdentifier()
Returns true if the Service-Identifier AVP is present in the Charging-Rule-Definition AVP.
-
getServiceIdentifier
long getServiceIdentifier()
Returns the value of the Service-Identifier AVP, of type Unsigned32. UsehasServiceIdentifier()
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.
-
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 Charging-Rule-Definition AVP. If the Service-Identifier AVP is not present, this method returns silently.
-
hasRatingGroup
boolean hasRatingGroup()
Returns true if the Rating-Group AVP is present in the Charging-Rule-Definition AVP.
-
getRatingGroup
long getRatingGroup()
Returns the value of the Rating-Group AVP, of type Unsigned32. UsehasRatingGroup()
to check the existence of this AVP.- Returns:
- the value of the Rating-Group AVP
- Throws:
IllegalStateException
- if the Rating-Group AVP has not been set.
-
setRatingGroup
void setRatingGroup(long ratingGroup)
Sets the value of the Rating-Group AVP, of type Unsigned32.
-
removeRatingGroup
void removeRatingGroup()
Removes the Rating-Group AVP from the Charging-Rule-Definition AVP. If the Rating-Group AVP is not present, this method returns silently.
-
getFlowInformations
FlowInformation[] getFlowInformations()
Returns the set of Flow-Information AVPs. The returned array contains the AVPs in the order they appear in the Charging-Rule-Definition AVP. A return value of null implies that no Flow-Information AVPs have been set. The elements in the given array are FlowInformation objects.
-
setFlowInformation
void setFlowInformation(FlowInformation flowInformation)
Sets a single Flow-Information AVP in the Charging-Rule-Definition AVP, of type Grouped.- Throws:
NullPointerException
- ifflowInformation
isnull
.
-
setFlowInformations
void setFlowInformations(FlowInformation[] flowInformations)
Sets the set of Flow-Information AVPs, with all the values in the given array. The AVPs will be added to the Charging-Rule-Definition AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getFlowInformations() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
NullPointerException
- ifflowInformations
isnull
.
-
removeFlowInformations
void removeFlowInformations()
Removes all Flow-Information AVPs from the Charging-Rule-Definition AVP. If no Flow-Information AVPs are present, this method returns silently.
-
hasTdfApplicationIdentifier
boolean hasTdfApplicationIdentifier()
Returns true if the TDF-Application-Identifier AVP is present in the Charging-Rule-Definition AVP.
-
getTdfApplicationIdentifier
byte[] getTdfApplicationIdentifier()
Returns the value of the TDF-Application-Identifier AVP, of type OctetString.- Returns:
- the value of the TDF-Application-Identifier AVP, or null if it has not been set.
-
setTdfApplicationIdentifier
void setTdfApplicationIdentifier(byte[] tdfApplicationIdentifier)
Sets the value of the TDF-Application-Identifier AVP, of type OctetString.- Throws:
NullPointerException
- iftdfApplicationIdentifier
isnull
.
-
removeTdfApplicationIdentifier
void removeTdfApplicationIdentifier()
Removes the TDF-Application-Identifier AVP from the Charging-Rule-Definition AVP. If the TDF-Application-Identifier AVP is not present, this method returns silently.
-
hasFlowStatus
boolean hasFlowStatus()
Returns true if the Flow-Status AVP is present in the Charging-Rule-Definition AVP.
-
getFlowStatus
FlowStatus getFlowStatus()
Returns the value of the Flow-Status AVP, of type Enumerated.- Returns:
- the value of the Flow-Status AVP, or null if it has not been set.
-
setFlowStatus
void setFlowStatus(FlowStatus flowStatus)
Sets the value of the Flow-Status AVP, of type Enumerated.- Throws:
NullPointerException
- ifflowStatus
isnull
.
-
removeFlowStatus
void removeFlowStatus()
Removes the Flow-Status AVP from the Charging-Rule-Definition AVP. If the Flow-Status AVP is not present, this method returns silently.
-
hasQosInformation
boolean hasQosInformation()
Returns true if the QoS-Information AVP is present in the Charging-Rule-Definition AVP.
-
getQosInformation
QosInformation getQosInformation()
Returns the value of the QoS-Information AVP, of type Grouped.- Returns:
- the value of the QoS-Information AVP, or null if it has not been set.
-
setQosInformation
void setQosInformation(QosInformation qosInformation)
Sets the value of the QoS-Information AVP, of type Grouped.- Throws:
NullPointerException
- ifqosInformation
isnull
.
-
removeQosInformation
void removeQosInformation()
Removes the QoS-Information AVP from the Charging-Rule-Definition AVP. If the QoS-Information AVP is not present, this method returns silently.
-
hasPsToCsSessionContinuity
boolean hasPsToCsSessionContinuity()
Returns true if the PS-to-CS-Session-Continuity AVP is present in the Charging-Rule-Definition AVP.
-
getPsToCsSessionContinuity
PsToCsSessionContinuity getPsToCsSessionContinuity()
Returns the value of the PS-to-CS-Session-Continuity AVP, of type Enumerated.- Returns:
- the value of the PS-to-CS-Session-Continuity AVP, or null if it has not been set.
-
setPsToCsSessionContinuity
void setPsToCsSessionContinuity(PsToCsSessionContinuity psToCsSessionContinuity)
Sets the value of the PS-to-CS-Session-Continuity AVP, of type Enumerated.- Throws:
NullPointerException
- ifpsToCsSessionContinuity
isnull
.
-
removePsToCsSessionContinuity
void removePsToCsSessionContinuity()
Removes the PS-to-CS-Session-Continuity AVP from the Charging-Rule-Definition AVP. If the PS-to-CS-Session-Continuity AVP is not present, this method returns silently.
-
hasReportingLevel
boolean hasReportingLevel()
Returns true if the Reporting-Level AVP is present in the Charging-Rule-Definition AVP.
-
getReportingLevel
ReportingLevel getReportingLevel()
Returns the value of the Reporting-Level AVP, of type Enumerated.- Returns:
- the value of the Reporting-Level AVP, or null if it has not been set.
-
setReportingLevel
void setReportingLevel(ReportingLevel reportingLevel)
Sets the value of the Reporting-Level AVP, of type Enumerated.- Throws:
NullPointerException
- ifreportingLevel
isnull
.
-
removeReportingLevel
void removeReportingLevel()
Removes the Reporting-Level AVP from the Charging-Rule-Definition AVP. If the Reporting-Level AVP is not present, this method returns silently.
-
hasOnline
boolean hasOnline()
Returns true if the Online AVP is present in the Charging-Rule-Definition AVP.
-
getOnline
Online getOnline()
Returns the value of the Online AVP, of type Enumerated.- Returns:
- the value of the Online AVP, or null if it has not been set.
-
setOnline
void setOnline(Online online)
Sets the value of the Online AVP, of type Enumerated.- Throws:
NullPointerException
- ifonline
isnull
.
-
removeOnline
void removeOnline()
Removes the Online AVP from the Charging-Rule-Definition AVP. If the Online AVP is not present, this method returns silently.
-
hasOffline
boolean hasOffline()
Returns true if the Offline AVP is present in the Charging-Rule-Definition AVP.
-
getOffline
Offline getOffline()
Returns the value of the Offline AVP, of type Enumerated.- Returns:
- the value of the Offline AVP, or null if it has not been set.
-
setOffline
void setOffline(Offline offline)
Sets the value of the Offline AVP, of type Enumerated.- Throws:
NullPointerException
- ifoffline
isnull
.
-
removeOffline
void removeOffline()
Removes the Offline AVP from the Charging-Rule-Definition AVP. If the Offline AVP is not present, this method returns silently.
-
hasMeteringMethod
boolean hasMeteringMethod()
Returns true if the Metering-Method AVP is present in the Charging-Rule-Definition AVP.
-
getMeteringMethod
MeteringMethod getMeteringMethod()
Returns the value of the Metering-Method AVP, of type Enumerated.- Returns:
- the value of the Metering-Method AVP, or null if it has not been set.
-
setMeteringMethod
void setMeteringMethod(MeteringMethod meteringMethod)
Sets the value of the Metering-Method AVP, of type Enumerated.- Throws:
NullPointerException
- ifmeteringMethod
isnull
.
-
removeMeteringMethod
void removeMeteringMethod()
Removes the Metering-Method AVP from the Charging-Rule-Definition AVP. If the Metering-Method AVP is not present, this method returns silently.
-
hasPrecedence
boolean hasPrecedence()
Returns true if the Precedence AVP is present in the Charging-Rule-Definition AVP.
-
getPrecedence
long getPrecedence()
Returns the value of the Precedence AVP, of type Unsigned32. UsehasPrecedence()
to check the existence of this AVP.- Returns:
- the value of the Precedence AVP
- Throws:
IllegalStateException
- if the Precedence AVP has not been set.
-
setPrecedence
void setPrecedence(long precedence)
Sets the value of the Precedence AVP, of type Unsigned32.
-
removePrecedence
void removePrecedence()
Removes the Precedence AVP from the Charging-Rule-Definition AVP. If the Precedence AVP is not present, this method returns silently.
-
hasAfChargingIdentifier
boolean hasAfChargingIdentifier()
Returns true if the AF-Charging-Identifier AVP is present in the Charging-Rule-Definition AVP.
-
getAfChargingIdentifier
byte[] getAfChargingIdentifier()
Returns the value of the AF-Charging-Identifier AVP, of type OctetString.- Returns:
- the value of the AF-Charging-Identifier AVP, or null if it has not been set.
-
setAfChargingIdentifier
void setAfChargingIdentifier(byte[] afChargingIdentifier)
Sets the value of the AF-Charging-Identifier AVP, of type OctetString.- Throws:
NullPointerException
- ifafChargingIdentifier
isnull
.
-
removeAfChargingIdentifier
void removeAfChargingIdentifier()
Removes the AF-Charging-Identifier AVP from the Charging-Rule-Definition AVP. If the AF-Charging-Identifier AVP is not present, this method returns silently.
-
getFlowses
Flows[] getFlowses()
Returns the set of Flows AVPs. The returned array contains the AVPs in the order they appear in the Charging-Rule-Definition AVP. A return value of null implies that no Flows AVPs have been set. The elements in the given array are Flows objects.
-
setFlows
void setFlows(Flows flows)
Sets a single Flows AVP in the Charging-Rule-Definition AVP, of type Grouped.- Throws:
NullPointerException
- ifflows
isnull
.
-
setFlowses
void setFlowses(Flows[] flowses)
Sets the set of Flows AVPs, with all the values in the given array. The AVPs will be added to the Charging-Rule-Definition AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getFlowses() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
NullPointerException
- ifflowses
isnull
.
-
removeFlowses
void removeFlowses()
Removes all Flows AVPs from the Charging-Rule-Definition AVP. If no Flows AVPs are present, this method returns silently.
-
hasMonitoringKey
boolean hasMonitoringKey()
Returns true if the Monitoring-Key AVP is present in the Charging-Rule-Definition AVP.
-
getMonitoringKey
byte[] getMonitoringKey()
Returns the value of the Monitoring-Key AVP, of type OctetString.- Returns:
- the value of the Monitoring-Key AVP, or null if it has not been set.
-
setMonitoringKey
void setMonitoringKey(byte[] monitoringKey)
Sets the value of the Monitoring-Key AVP, of type OctetString.- Throws:
NullPointerException
- ifmonitoringKey
isnull
.
-
removeMonitoringKey
void removeMonitoringKey()
Removes the Monitoring-Key AVP from the Charging-Rule-Definition AVP. If the Monitoring-Key AVP is not present, this method returns silently.
-
hasRedirectInformation
boolean hasRedirectInformation()
Returns true if the Redirect-Information AVP is present in the Charging-Rule-Definition AVP.
-
getRedirectInformation
RedirectInformation getRedirectInformation()
Returns the value of the Redirect-Information AVP, of type Grouped.- Returns:
- the value of the Redirect-Information AVP, or null if it has not been set.
-
setRedirectInformation
void setRedirectInformation(RedirectInformation redirectInformation)
Sets the value of the Redirect-Information AVP, of type Grouped.- Throws:
NullPointerException
- ifredirectInformation
isnull
.
-
removeRedirectInformation
void removeRedirectInformation()
Removes the Redirect-Information AVP from the Charging-Rule-Definition AVP. If the Redirect-Information AVP is not present, this method returns silently.
-
hasMuteNotification
boolean hasMuteNotification()
Returns true if the Mute-Notification AVP is present in the Charging-Rule-Definition AVP.
-
getMuteNotification
MuteNotification getMuteNotification()
Returns the value of the Mute-Notification AVP, of type Enumerated.- Returns:
- the value of the Mute-Notification AVP, or null if it has not been set.
-
setMuteNotification
void setMuteNotification(MuteNotification muteNotification)
Sets the value of the Mute-Notification AVP, of type Enumerated.- Throws:
NullPointerException
- ifmuteNotification
isnull
.
-
removeMuteNotification
void removeMuteNotification()
Removes the Mute-Notification AVP from the Charging-Rule-Definition AVP. If the Mute-Notification AVP is not present, this method returns silently.
-
hasAfSignallingProtocol
boolean hasAfSignallingProtocol()
Returns true if the AF-Signalling-Protocol AVP is present in the Charging-Rule-Definition AVP.
-
getAfSignallingProtocol
AfSignallingProtocol getAfSignallingProtocol()
Returns the value of the AF-Signalling-Protocol AVP, of type Enumerated.- Returns:
- the value of the AF-Signalling-Protocol AVP, or null if it has not been set.
-
setAfSignallingProtocol
void setAfSignallingProtocol(AfSignallingProtocol afSignallingProtocol)
Sets the value of the AF-Signalling-Protocol AVP, of type Enumerated.- Throws:
NullPointerException
- ifafSignallingProtocol
isnull
.
-
removeAfSignallingProtocol
void removeAfSignallingProtocol()
Removes the AF-Signalling-Protocol AVP from the Charging-Rule-Definition AVP. If the AF-Signalling-Protocol AVP is not present, this method returns silently.
-
hasSponsorIdentity
boolean hasSponsorIdentity()
Returns true if the Sponsor-Identity AVP is present in the Charging-Rule-Definition AVP.
-
getSponsorIdentity
byte[] getSponsorIdentity()
Returns the value of the Sponsor-Identity AVP, of type OctetString.- Returns:
- the value of the Sponsor-Identity AVP, or null if it has not been set.
-
setSponsorIdentity
void setSponsorIdentity(byte[] sponsorIdentity)
Sets the value of the Sponsor-Identity AVP, of type OctetString.- Throws:
NullPointerException
- ifsponsorIdentity
isnull
.
-
removeSponsorIdentity
void removeSponsorIdentity()
Removes the Sponsor-Identity AVP from the Charging-Rule-Definition AVP. If the Sponsor-Identity AVP is not present, this method returns silently.
-
hasApplicationServiceProviderIdentity
boolean hasApplicationServiceProviderIdentity()
Returns true if the Application-Service-Provider-Identity AVP is present in the Charging-Rule-Definition AVP.
-
getApplicationServiceProviderIdentity
byte[] getApplicationServiceProviderIdentity()
Returns the value of the Application-Service-Provider-Identity AVP, of type OctetString.- Returns:
- the value of the Application-Service-Provider-Identity AVP, or null if it has not been set.
-
setApplicationServiceProviderIdentity
void setApplicationServiceProviderIdentity(byte[] applicationServiceProviderIdentity)
Sets the value of the Application-Service-Provider-Identity AVP, of type OctetString.- Throws:
NullPointerException
- ifapplicationServiceProviderIdentity
isnull
.
-
removeApplicationServiceProviderIdentity
void removeApplicationServiceProviderIdentity()
Removes the Application-Service-Provider-Identity AVP from the Charging-Rule-Definition AVP. If the Application-Service-Provider-Identity AVP is not present, this method returns silently.
-
getRequiredAccessInfos
RequiredAccessInfo[] getRequiredAccessInfos()
Returns the set of Required-Access-Info AVPs. The returned array contains the AVPs in the order they appear in the Charging-Rule-Definition AVP. A return value of null implies that no Required-Access-Info AVPs have been set. The elements in the given array are RequiredAccessInfo objects.
-
setRequiredAccessInfo
void setRequiredAccessInfo(RequiredAccessInfo requiredAccessInfo)
Sets a single Required-Access-Info AVP in the Charging-Rule-Definition AVP, of type Enumerated.- Throws:
NullPointerException
- ifrequiredAccessInfo
isnull
.
-
setRequiredAccessInfos
void setRequiredAccessInfos(RequiredAccessInfo[] requiredAccessInfos)
Sets the set of Required-Access-Info AVPs, with all the values in the given array. The AVPs will be added to the Charging-Rule-Definition AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getRequiredAccessInfos() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
NullPointerException
- ifrequiredAccessInfos
isnull
.
-
removeRequiredAccessInfos
void removeRequiredAccessInfos()
Removes all Required-Access-Info AVPs from the Charging-Rule-Definition AVP. If no Required-Access-Info 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 Charging-Rule-Definition AVP. A return value of null implies that no extensions AVPs have been set.
-
setExtensionAvps
void setExtensionAvps(DiameterAvp[] avps) throws AvpNotAllowedException
Sets the set of extension AVPs with all the values in the given array. The AVPs will be added to Charging-Rule-Definition AVP in the order in which they appear in the array. Note: the array must not be altered by the caller following this call, and getExtensionAvps() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
AvpNotAllowedException
- if an AVP is encountered of a type already known to this class (i.e. an AVP for which get/set methods already appear in this class)NullPointerException
- ifavps
isnull
.
-
removeExtensionAvps
void removeExtensionAvps()
Removes all extension AVPs from the Charging-Rule-Definition AVP. If no extension AVPs are present, this method returns silently.
-
-