Interface AfCorrelationInformation
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface AfCorrelationInformation extends GroupedAvp
Defines an interface representing the AF-Correlation-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V11.8.0) specification:7.2.11 AF-Correlation-Information AVP The AF-Correlation-Information AVP (AVPcode 1276) is of type Grouped and includes the "AF Charging Identifier" (ICID for IMS) and associated flow identifiers generated by the AF and received by GGSN over Rx/Gx as defined in TS 29.214 [214] and TS 29.212 [215]. The AF-Correlation-Information is defined per Rating Group or per Rating Group and Service Identifier when Service Identifier level reporting applies. When several AF sessions (refer to TS 29.214 [214]) are conveyed over the same PDP Context, this AVP may appear several times per MSCC instance. It has the following ABNF grammar: AF-Correlation-Information ::= < AVP Header: 1276 > { AF-Charging-Identifier } * [ Flows ]
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 byte[]
getAfChargingIdentifier()
Returns the value of the AF-Charging-Identifier AVP, of type OctetString.DiameterAvp[]
getExtensionAvps()
Returns the set of extension AVPs.Flows[]
getFlowses()
Returns the set of Flows AVPs.boolean
hasAfChargingIdentifier()
Returns true if the AF-Charging-Identifier AVP is present in the AF-Correlation-Information AVP.void
removeAfChargingIdentifier()
Removes the AF-Charging-Identifier AVP from the AF-Correlation-Information AVP.void
removeExtensionAvps()
Removes all extension AVPs from the AF-Correlation-Information AVP.void
removeFlowses()
Removes all Flows AVPs from the AF-Correlation-Information AVP.void
setAfChargingIdentifier(byte[] afChargingIdentifier)
Sets the value of the AF-Charging-Identifier AVP, of type OctetString.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setFlows(Flows flows)
Sets a single Flows AVP in the AF-Correlation-Information AVP, of type Grouped.void
setFlowses(Flows[] flowses)
Sets the set of Flows 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
-
hasAfChargingIdentifier
boolean hasAfChargingIdentifier()
Returns true if the AF-Charging-Identifier AVP is present in the AF-Correlation-Information 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 AF-Correlation-Information 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 AF-Correlation-Information 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 AF-Correlation-Information 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 AF-Correlation-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 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 AF-Correlation-Information AVP. If no Flows 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 AF-Correlation-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 AF-Correlation-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 AF-Correlation-Information AVP. If no extension AVPs are present, this method returns silently.
-
-