Interface UsageMonitoringInformation
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface UsageMonitoringInformation extends GroupedAvp
Defines an interface representing the Usage-Monitoring-Information grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V11.9.0) specification:5.3.60 Usage-Monitoring-Information AVP The Usage-Monitoring-Information AVP (AVP code 1067) is of type Grouped, and it contains the usage monitoring control information. The Monitoring-Key AVP identifies the usage monitoring control instance. The Granted-Service-Unit AVP shall be used by the PCRF to provide the threshold level to the PCEF. The CC-Total- Octets AVP shall be used for providing threshold level for the total volume, or the CC-Input-Octets and/or CC-Output- Octets AVPs shall be used for providing threshold level for the uplink volume and/or the downlink volume. Monitoring-Time AVP shall be used for providing the time at which the PCEF shall reapply the threshold value provided by the PCRF. The Used-Service-Unit AVP shall be used by the PCEF to provide the measured usage to the PCRF. Reporting shall be done, as requested by the PCRF, in CC-Total-Octets, CC-Input-Octets or CC-Output-Octets AVPs of Used-Service- Unit AVP. Monitoring-Time AVP shall be used to indicate the time at which the PCEF shall reapply the threshold value provided by the PCRF. The Usage-Monitoring-Level AVP determines the scope of the usage monitoring instance. The Usage-Monitoring-Report AVP determines if accumulated usage shall be reported for the usage monitoring key included in Monitoring-Key AVP. The Usage-Monitoring-Support AVP determines if a usage monitoring instance is disabled. AVP Format: Usage-Monitoring-Information::= < AVP Header: 1067 > [ Monitoring-Key ] 0*2[ Granted-Service-Unit ] 0*2[ Used-Service-Unit ] [ Usage-Monitoring-Level ] [ Usage-Monitoring-Report ] [ Usage-Monitoring-Support ] *[ 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 DiameterAvp[]
getExtensionAvps()
Returns the set of extension AVPs.GrantedServiceUnit[]
getGrantedServiceUnits()
Returns the set of Granted-Service-Unit AVPs.byte[]
getMonitoringKey()
Returns the value of the Monitoring-Key AVP, of type OctetString.UsageMonitoringLevel
getUsageMonitoringLevel()
Returns the value of the Usage-Monitoring-Level AVP, of type Enumerated.UsageMonitoringReport
getUsageMonitoringReport()
Returns the value of the Usage-Monitoring-Report AVP, of type Enumerated.UsageMonitoringSupport
getUsageMonitoringSupport()
Returns the value of the Usage-Monitoring-Support AVP, of type Enumerated.UsedServiceUnit[]
getUsedServiceUnits()
Returns the set of Used-Service-Unit AVPs.boolean
hasMonitoringKey()
Returns true if the Monitoring-Key AVP is present in the Usage-Monitoring-Information AVP.boolean
hasUsageMonitoringLevel()
Returns true if the Usage-Monitoring-Level AVP is present in the Usage-Monitoring-Information AVP.boolean
hasUsageMonitoringReport()
Returns true if the Usage-Monitoring-Report AVP is present in the Usage-Monitoring-Information AVP.boolean
hasUsageMonitoringSupport()
Returns true if the Usage-Monitoring-Support AVP is present in the Usage-Monitoring-Information AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Usage-Monitoring-Information AVP.void
removeGrantedServiceUnits()
Removes all Granted-Service-Unit AVPs from the Usage-Monitoring-Information AVP.void
removeMonitoringKey()
Removes the Monitoring-Key AVP from the Usage-Monitoring-Information AVP.void
removeUsageMonitoringLevel()
Removes the Usage-Monitoring-Level AVP from the Usage-Monitoring-Information AVP.void
removeUsageMonitoringReport()
Removes the Usage-Monitoring-Report AVP from the Usage-Monitoring-Information AVP.void
removeUsageMonitoringSupport()
Removes the Usage-Monitoring-Support AVP from the Usage-Monitoring-Information AVP.void
removeUsedServiceUnits()
Removes all Used-Service-Unit AVPs from the Usage-Monitoring-Information AVP.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setGrantedServiceUnit(GrantedServiceUnit grantedServiceUnit)
Sets a single Granted-Service-Unit AVP in the Usage-Monitoring-Information AVP, of type Grouped.void
setGrantedServiceUnits(GrantedServiceUnit[] grantedServiceUnits)
Sets the set of Granted-Service-Unit AVPs, with all the values in the given array.void
setMonitoringKey(byte[] monitoringKey)
Sets the value of the Monitoring-Key AVP, of type OctetString.void
setUsageMonitoringLevel(UsageMonitoringLevel usageMonitoringLevel)
Sets the value of the Usage-Monitoring-Level AVP, of type Enumerated.void
setUsageMonitoringReport(UsageMonitoringReport usageMonitoringReport)
Sets the value of the Usage-Monitoring-Report AVP, of type Enumerated.void
setUsageMonitoringSupport(UsageMonitoringSupport usageMonitoringSupport)
Sets the value of the Usage-Monitoring-Support AVP, of type Enumerated.void
setUsedServiceUnit(UsedServiceUnit usedServiceUnit)
Sets a single Used-Service-Unit AVP in the Usage-Monitoring-Information AVP, of type Grouped.void
setUsedServiceUnits(UsedServiceUnit[] usedServiceUnits)
Sets the set of Used-Service-Unit AVPs, with all the values in the given array.-
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
-
hasMonitoringKey
boolean hasMonitoringKey()
Returns true if the Monitoring-Key AVP is present in the Usage-Monitoring-Information 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 Usage-Monitoring-Information AVP. If the Monitoring-Key AVP is not present, this method returns silently.
-
getGrantedServiceUnits
GrantedServiceUnit[] getGrantedServiceUnits()
Returns the set of Granted-Service-Unit AVPs. The returned array contains the AVPs in the order they appear in the Usage-Monitoring-Information AVP. A return value of null implies that no Granted-Service-Unit AVPs have been set. The elements in the given array are GrantedServiceUnit objects.
-
setGrantedServiceUnit
void setGrantedServiceUnit(GrantedServiceUnit grantedServiceUnit)
Sets a single Granted-Service-Unit AVP in the Usage-Monitoring-Information AVP, of type Grouped.- Throws:
NullPointerException
- ifgrantedServiceUnit
isnull
.
-
setGrantedServiceUnits
void setGrantedServiceUnits(GrantedServiceUnit[] grantedServiceUnits)
Sets the set of Granted-Service-Unit AVPs, with all the values in the given array. The AVPs will be added to the Usage-Monitoring-Information 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 getGrantedServiceUnits() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
NullPointerException
- ifgrantedServiceUnits
isnull
.
-
removeGrantedServiceUnits
void removeGrantedServiceUnits()
Removes all Granted-Service-Unit AVPs from the Usage-Monitoring-Information AVP. If no Granted-Service-Unit AVPs are present, this method returns silently.
-
getUsedServiceUnits
UsedServiceUnit[] getUsedServiceUnits()
Returns the set of Used-Service-Unit AVPs. The returned array contains the AVPs in the order they appear in the Usage-Monitoring-Information AVP. A return value of null implies that no Used-Service-Unit AVPs have been set. The elements in the given array are UsedServiceUnit objects.
-
setUsedServiceUnit
void setUsedServiceUnit(UsedServiceUnit usedServiceUnit)
Sets a single Used-Service-Unit AVP in the Usage-Monitoring-Information AVP, of type Grouped.- Throws:
NullPointerException
- ifusedServiceUnit
isnull
.
-
setUsedServiceUnits
void setUsedServiceUnits(UsedServiceUnit[] usedServiceUnits)
Sets the set of Used-Service-Unit AVPs, with all the values in the given array. The AVPs will be added to the Usage-Monitoring-Information 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 getUsedServiceUnits() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
NullPointerException
- ifusedServiceUnits
isnull
.
-
removeUsedServiceUnits
void removeUsedServiceUnits()
Removes all Used-Service-Unit AVPs from the Usage-Monitoring-Information AVP. If no Used-Service-Unit AVPs are present, this method returns silently.
-
hasUsageMonitoringLevel
boolean hasUsageMonitoringLevel()
Returns true if the Usage-Monitoring-Level AVP is present in the Usage-Monitoring-Information AVP.
-
getUsageMonitoringLevel
UsageMonitoringLevel getUsageMonitoringLevel()
Returns the value of the Usage-Monitoring-Level AVP, of type Enumerated.- Returns:
- the value of the Usage-Monitoring-Level AVP, or null if it has not been set.
-
setUsageMonitoringLevel
void setUsageMonitoringLevel(UsageMonitoringLevel usageMonitoringLevel)
Sets the value of the Usage-Monitoring-Level AVP, of type Enumerated.- Throws:
NullPointerException
- ifusageMonitoringLevel
isnull
.
-
removeUsageMonitoringLevel
void removeUsageMonitoringLevel()
Removes the Usage-Monitoring-Level AVP from the Usage-Monitoring-Information AVP. If the Usage-Monitoring-Level AVP is not present, this method returns silently.
-
hasUsageMonitoringReport
boolean hasUsageMonitoringReport()
Returns true if the Usage-Monitoring-Report AVP is present in the Usage-Monitoring-Information AVP.
-
getUsageMonitoringReport
UsageMonitoringReport getUsageMonitoringReport()
Returns the value of the Usage-Monitoring-Report AVP, of type Enumerated.- Returns:
- the value of the Usage-Monitoring-Report AVP, or null if it has not been set.
-
setUsageMonitoringReport
void setUsageMonitoringReport(UsageMonitoringReport usageMonitoringReport)
Sets the value of the Usage-Monitoring-Report AVP, of type Enumerated.- Throws:
NullPointerException
- ifusageMonitoringReport
isnull
.
-
removeUsageMonitoringReport
void removeUsageMonitoringReport()
Removes the Usage-Monitoring-Report AVP from the Usage-Monitoring-Information AVP. If the Usage-Monitoring-Report AVP is not present, this method returns silently.
-
hasUsageMonitoringSupport
boolean hasUsageMonitoringSupport()
Returns true if the Usage-Monitoring-Support AVP is present in the Usage-Monitoring-Information AVP.
-
getUsageMonitoringSupport
UsageMonitoringSupport getUsageMonitoringSupport()
Returns the value of the Usage-Monitoring-Support AVP, of type Enumerated.- Returns:
- the value of the Usage-Monitoring-Support AVP, or null if it has not been set.
-
setUsageMonitoringSupport
void setUsageMonitoringSupport(UsageMonitoringSupport usageMonitoringSupport)
Sets the value of the Usage-Monitoring-Support AVP, of type Enumerated.- Throws:
NullPointerException
- ifusageMonitoringSupport
isnull
.
-
removeUsageMonitoringSupport
void removeUsageMonitoringSupport()
Removes the Usage-Monitoring-Support AVP from the Usage-Monitoring-Information AVP. If the Usage-Monitoring-Support 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 Usage-Monitoring-Information 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 Usage-Monitoring-Information 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 Usage-Monitoring-Information AVP. If no extension AVPs are present, this method returns silently.
-
-