Interface TrafficDataVolumes
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface TrafficDataVolumes extends GroupedAvp
Defines an interface representing the Traffic-Data-Volumes grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V9.6.0) specification:7.2.233 Traffic-Data-Volumes AVP The Traffic-Data-Volumes AVP (AVP code 2046) is of type Grouped. Its purpose is to allow the transmission of the IP-CAN bearer container, on encountering change on charging condition for this IP-CAN bearer.This container reports the volume count (separated for uplink and downlink). It has the following ABNF grammar: Traffic-Data-Volumes ::= < AVP Header: 2046> [ QoS-Information ] [ Accounting-Input-Octets ] [ Accounting-Input-Packets ] [ Accounting-Output-Octets ] [ Accounting-Output-Packets ] [ Change-Condition ] [ Change-Time ] [ TGPP-User-Location-Info ]
Note:
The support for extension AVPs is present even thou the ABNF grammar for this AVP does not contain the "* [ AVP ]" line. Be aware that adding any extension AVPs may result in interoperability problems with products that strongly validate the incoming diameter message for it's adherence to the specification.
-
-
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 long
getAccountingInputOctets()
Returns the value of the Accounting-Input-Octets AVP, of type Unsigned64.long
getAccountingInputPackets()
Returns the value of the Accounting-Input-Packets AVP, of type Unsigned64.long
getAccountingOutputOctets()
Returns the value of the Accounting-Output-Octets AVP, of type Unsigned64.long
getAccountingOutputPackets()
Returns the value of the Accounting-Output-Packets AVP, of type Unsigned64.int
getChangeCondition()
Returns the value of the Change-Condition AVP, of type Integer32.Date
getChangeTime()
Returns the value of the Change-Time AVP, of type Time.DiameterAvp[]
getExtensionAvps()
Returns the set of extension AVPs.QosInformation
getQosInformation()
Returns the value of the QoS-Information AVP, of type Grouped.byte[]
getTgppUserLocationInfo()
Returns the value of the TGPP-User-Location-Info AVP, of type OctetString.boolean
hasAccountingInputOctets()
Returns true if the Accounting-Input-Octets AVP is present in the Traffic-Data-Volumes AVP.boolean
hasAccountingInputPackets()
Returns true if the Accounting-Input-Packets AVP is present in the Traffic-Data-Volumes AVP.boolean
hasAccountingOutputOctets()
Returns true if the Accounting-Output-Octets AVP is present in the Traffic-Data-Volumes AVP.boolean
hasAccountingOutputPackets()
Returns true if the Accounting-Output-Packets AVP is present in the Traffic-Data-Volumes AVP.boolean
hasChangeCondition()
Returns true if the Change-Condition AVP is present in the Traffic-Data-Volumes AVP.boolean
hasChangeTime()
Returns true if the Change-Time AVP is present in the Traffic-Data-Volumes AVP.boolean
hasQosInformation()
Returns true if the QoS-Information AVP is present in the Traffic-Data-Volumes AVP.boolean
hasTgppUserLocationInfo()
Returns true if the TGPP-User-Location-Info AVP is present in the Traffic-Data-Volumes AVP.void
removeAccountingInputOctets()
Removes the Accounting-Input-Octets AVP from the Traffic-Data-Volumes AVP.void
removeAccountingInputPackets()
Removes the Accounting-Input-Packets AVP from the Traffic-Data-Volumes AVP.void
removeAccountingOutputOctets()
Removes the Accounting-Output-Octets AVP from the Traffic-Data-Volumes AVP.void
removeAccountingOutputPackets()
Removes the Accounting-Output-Packets AVP from the Traffic-Data-Volumes AVP.void
removeChangeCondition()
Removes the Change-Condition AVP from the Traffic-Data-Volumes AVP.void
removeChangeTime()
Removes the Change-Time AVP from the Traffic-Data-Volumes AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Traffic-Data-Volumes AVP.void
removeQosInformation()
Removes the QoS-Information AVP from the Traffic-Data-Volumes AVP.void
removeTgppUserLocationInfo()
Removes the TGPP-User-Location-Info AVP from the Traffic-Data-Volumes AVP.void
setAccountingInputOctets(long accountingInputOctets)
Sets the value of the Accounting-Input-Octets AVP, of type Unsigned64.void
setAccountingInputPackets(long accountingInputPackets)
Sets the value of the Accounting-Input-Packets AVP, of type Unsigned64.void
setAccountingOutputOctets(long accountingOutputOctets)
Sets the value of the Accounting-Output-Octets AVP, of type Unsigned64.void
setAccountingOutputPackets(long accountingOutputPackets)
Sets the value of the Accounting-Output-Packets AVP, of type Unsigned64.void
setChangeCondition(int changeCondition)
Sets the value of the Change-Condition AVP, of type Integer32.void
setChangeTime(Date changeTime)
Sets the value of the Change-Time AVP, of type Time.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setQosInformation(QosInformation qosInformation)
Sets the value of the QoS-Information AVP, of type Grouped.void
setTgppUserLocationInfo(byte[] tgppUserLocationInfo)
Sets the value of the TGPP-User-Location-Info 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
-
hasQosInformation
boolean hasQosInformation()
Returns true if the QoS-Information AVP is present in the Traffic-Data-Volumes 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 Traffic-Data-Volumes AVP. If the QoS-Information AVP is not present, this method returns silently.
-
hasAccountingInputOctets
boolean hasAccountingInputOctets()
Returns true if the Accounting-Input-Octets AVP is present in the Traffic-Data-Volumes AVP.
-
getAccountingInputOctets
long getAccountingInputOctets()
Returns the value of the Accounting-Input-Octets AVP, of type Unsigned64. UsehasAccountingInputOctets()
to check the existence of this AVP.- Returns:
- the value of the Accounting-Input-Octets AVP
- Throws:
IllegalStateException
- if the Accounting-Input-Octets AVP has not been set.
-
setAccountingInputOctets
void setAccountingInputOctets(long accountingInputOctets)
Sets the value of the Accounting-Input-Octets AVP, of type Unsigned64.
-
removeAccountingInputOctets
void removeAccountingInputOctets()
Removes the Accounting-Input-Octets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Input-Octets AVP is not present, this method returns silently.
-
hasAccountingInputPackets
boolean hasAccountingInputPackets()
Returns true if the Accounting-Input-Packets AVP is present in the Traffic-Data-Volumes AVP.
-
getAccountingInputPackets
long getAccountingInputPackets()
Returns the value of the Accounting-Input-Packets AVP, of type Unsigned64. UsehasAccountingInputPackets()
to check the existence of this AVP.- Returns:
- the value of the Accounting-Input-Packets AVP
- Throws:
IllegalStateException
- if the Accounting-Input-Packets AVP has not been set.
-
setAccountingInputPackets
void setAccountingInputPackets(long accountingInputPackets)
Sets the value of the Accounting-Input-Packets AVP, of type Unsigned64.
-
removeAccountingInputPackets
void removeAccountingInputPackets()
Removes the Accounting-Input-Packets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Input-Packets AVP is not present, this method returns silently.
-
hasAccountingOutputOctets
boolean hasAccountingOutputOctets()
Returns true if the Accounting-Output-Octets AVP is present in the Traffic-Data-Volumes AVP.
-
getAccountingOutputOctets
long getAccountingOutputOctets()
Returns the value of the Accounting-Output-Octets AVP, of type Unsigned64. UsehasAccountingOutputOctets()
to check the existence of this AVP.- Returns:
- the value of the Accounting-Output-Octets AVP
- Throws:
IllegalStateException
- if the Accounting-Output-Octets AVP has not been set.
-
setAccountingOutputOctets
void setAccountingOutputOctets(long accountingOutputOctets)
Sets the value of the Accounting-Output-Octets AVP, of type Unsigned64.
-
removeAccountingOutputOctets
void removeAccountingOutputOctets()
Removes the Accounting-Output-Octets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Output-Octets AVP is not present, this method returns silently.
-
hasAccountingOutputPackets
boolean hasAccountingOutputPackets()
Returns true if the Accounting-Output-Packets AVP is present in the Traffic-Data-Volumes AVP.
-
getAccountingOutputPackets
long getAccountingOutputPackets()
Returns the value of the Accounting-Output-Packets AVP, of type Unsigned64. UsehasAccountingOutputPackets()
to check the existence of this AVP.- Returns:
- the value of the Accounting-Output-Packets AVP
- Throws:
IllegalStateException
- if the Accounting-Output-Packets AVP has not been set.
-
setAccountingOutputPackets
void setAccountingOutputPackets(long accountingOutputPackets)
Sets the value of the Accounting-Output-Packets AVP, of type Unsigned64.
-
removeAccountingOutputPackets
void removeAccountingOutputPackets()
Removes the Accounting-Output-Packets AVP from the Traffic-Data-Volumes AVP. If the Accounting-Output-Packets AVP is not present, this method returns silently.
-
hasChangeCondition
boolean hasChangeCondition()
Returns true if the Change-Condition AVP is present in the Traffic-Data-Volumes AVP.
-
getChangeCondition
int getChangeCondition()
Returns the value of the Change-Condition AVP, of type Integer32. UsehasChangeCondition()
to check the existence of this AVP.- Returns:
- the value of the Change-Condition AVP
- Throws:
IllegalStateException
- if the Change-Condition AVP has not been set.
-
setChangeCondition
void setChangeCondition(int changeCondition)
Sets the value of the Change-Condition AVP, of type Integer32.
-
removeChangeCondition
void removeChangeCondition()
Removes the Change-Condition AVP from the Traffic-Data-Volumes AVP. If the Change-Condition AVP is not present, this method returns silently.
-
hasChangeTime
boolean hasChangeTime()
Returns true if the Change-Time AVP is present in the Traffic-Data-Volumes AVP.
-
getChangeTime
Date getChangeTime()
Returns the value of the Change-Time AVP, of type Time.- Returns:
- the value of the Change-Time AVP, or null if it has not been set.
-
setChangeTime
void setChangeTime(Date changeTime)
Sets the value of the Change-Time AVP, of type Time.- Throws:
NullPointerException
- ifchangeTime
isnull
.
-
removeChangeTime
void removeChangeTime()
Removes the Change-Time AVP from the Traffic-Data-Volumes AVP. If the Change-Time AVP is not present, this method returns silently.
-
hasTgppUserLocationInfo
boolean hasTgppUserLocationInfo()
Returns true if the TGPP-User-Location-Info AVP is present in the Traffic-Data-Volumes AVP.
-
getTgppUserLocationInfo
byte[] getTgppUserLocationInfo()
Returns the value of the TGPP-User-Location-Info AVP, of type OctetString.- Returns:
- the value of the TGPP-User-Location-Info AVP, or null if it has not been set.
-
setTgppUserLocationInfo
void setTgppUserLocationInfo(byte[] tgppUserLocationInfo)
Sets the value of the TGPP-User-Location-Info AVP, of type OctetString.- Throws:
NullPointerException
- iftgppUserLocationInfo
isnull
.
-
removeTgppUserLocationInfo
void removeTgppUserLocationInfo()
Removes the TGPP-User-Location-Info AVP from the Traffic-Data-Volumes AVP. If the TGPP-User-Location-Info 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 Traffic-Data-Volumes 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 Traffic-Data-Volumes 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 Traffic-Data-Volumes AVP. If no extension AVPs are present, this method returns silently.
-
-