Interface Flows
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface Flows extends GroupedAvp
Defines an interface representing the Flows grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V10.1.0) specification:5.3.10 Flows The Flows AVP (AVP code 510) is of type Grouped, and it indicates IP flows via their flow identifiers. When reporting an out of credit condition, the Final-Unit-Action AVP indicates the termination action applied to the impacted flows. If no Flow-Number AVP(s) are supplied, the Flows AVP refers to all Flows matching the media component number. AVP Format: Flows::= < AVP Header: 510 > { Media-Component-Number } *[ Flow-Number ] [ Final-Unit-Action ]
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 DiameterAvp[]
getExtensionAvps()
Returns the set of extension AVPs.FinalUnitAction
getFinalUnitAction()
Returns the value of the Final-Unit-Action AVP, of type Enumerated.long[]
getFlowNumbers()
Returns the set of Flow-Number AVPs.long
getMediaComponentNumber()
Returns the value of the Media-Component-Number AVP, of type Unsigned32.boolean
hasFinalUnitAction()
Returns true if the Final-Unit-Action AVP is present in the Flows AVP.boolean
hasMediaComponentNumber()
Returns true if the Media-Component-Number AVP is present in the Flows AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Flows AVP.void
removeFinalUnitAction()
Removes the Final-Unit-Action AVP from the Flows AVP.void
removeFlowNumbers()
Removes all Flow-Number AVPs from the Flows AVP.void
removeMediaComponentNumber()
Removes the Media-Component-Number AVP from the Flows AVP.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setFinalUnitAction(FinalUnitAction finalUnitAction)
Sets the value of the Final-Unit-Action AVP, of type Enumerated.void
setFlowNumber(long flowNumber)
Sets a single Flow-Number AVP in the Flows AVP, of type Unsigned32.void
setFlowNumbers(long[] flowNumbers)
Sets the set of Flow-Number AVPs, with all the values in the given array.void
setMediaComponentNumber(long mediaComponentNumber)
Sets the value of the Media-Component-Number AVP, of type Unsigned32.-
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
-
hasMediaComponentNumber
boolean hasMediaComponentNumber()
Returns true if the Media-Component-Number AVP is present in the Flows AVP.
-
getMediaComponentNumber
long getMediaComponentNumber()
Returns the value of the Media-Component-Number AVP, of type Unsigned32. UsehasMediaComponentNumber()
to check the existence of this AVP.- Returns:
- the value of the Media-Component-Number AVP
- Throws:
IllegalStateException
- if the Media-Component-Number AVP has not been set.
-
setMediaComponentNumber
void setMediaComponentNumber(long mediaComponentNumber)
Sets the value of the Media-Component-Number AVP, of type Unsigned32.
-
removeMediaComponentNumber
void removeMediaComponentNumber()
Removes the Media-Component-Number AVP from the Flows AVP. If the Media-Component-Number AVP is not present, this method returns silently.
-
getFlowNumbers
long[] getFlowNumbers()
Returns the set of Flow-Number AVPs. The returned array contains the AVPs in the order they appear in the Flows AVP. A return value of null implies that no Flow-Number AVPs have been set. The elements in the given array are long objects.
-
setFlowNumber
void setFlowNumber(long flowNumber)
Sets a single Flow-Number AVP in the Flows AVP, of type Unsigned32.
-
setFlowNumbers
void setFlowNumbers(long[] flowNumbers)
Sets the set of Flow-Number AVPs, with all the values in the given array. The AVPs will be added to the Flows 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 getFlowNumbers() is not guaranteed to return the same array instance, e.g. an "==" check would fail.- Throws:
NullPointerException
- ifflowNumbers
isnull
.
-
removeFlowNumbers
void removeFlowNumbers()
Removes all Flow-Number AVPs from the Flows AVP. If no Flow-Number AVPs are present, this method returns silently.
-
hasFinalUnitAction
boolean hasFinalUnitAction()
Returns true if the Final-Unit-Action AVP is present in the Flows AVP.
-
getFinalUnitAction
FinalUnitAction getFinalUnitAction()
Returns the value of the Final-Unit-Action AVP, of type Enumerated.- Returns:
- the value of the Final-Unit-Action AVP, or null if it has not been set.
-
setFinalUnitAction
void setFinalUnitAction(FinalUnitAction finalUnitAction)
Sets the value of the Final-Unit-Action AVP, of type Enumerated.- Throws:
NullPointerException
- iffinalUnitAction
isnull
.
-
removeFinalUnitAction
void removeFinalUnitAction()
Removes the Final-Unit-Action AVP from the Flows AVP. If the Final-Unit-Action 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 Flows 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 Flows 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 Flows AVP. If no extension AVPs are present, this method returns silently.
-
-