Interface ApplicationDetectionInformation
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface ApplicationDetectionInformation extends GroupedAvp
Defines an interface representing the Application-Detection-Information grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V11.9.0) specification:5.3.91 Application-Detection-Information The Application-Detection-Information AVP (AVP code 1098) is of type Grouped, and it is used to report once the start/stop of the application traffic, defined by TDF-Application-Identifier, has been detected, in case PCRF has subscribed for APPLICATION_START/APPLICATION_STOP Event-Triggers, unless a request to mute such a notification (Mute-Notification AVP) is part of the corresponding Charging-Rule-Definition AVP to the PCEF. The corresponding TDF-Application-Identifier AVP shall be included under Application-Detection-Information AVP. When the Event trigger indicates APPLICATION_START, the Flow-Information AVP for the detected application, if deducible, shall be included under Application-Detection-Information AVP. When the Flow-Information AVP is included, the TDF-Application-Instance-Identifier AVP shall also be included. The Flow-Information AVP, if present, shall contain the Flow-Description AVP and Flow-Direction AVP. Also, the corresponding Event-Trigger (APPLICATION_START or APPLICATION_STOP) shall be provided to PCRF. When the TDF-Application-Instance-Identifier AVP is included with an APPLICATION_START event, it shall also be included when the corresponding APPLICATION_STOP event is notified. AVP Format: Application-Detection-Information ::= < AVP Header: 1098 > { TDF-Application-Identifier } [ TDF-Application-Instance-Identifier ] *[ Flow-Information ] *[ 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.FlowInformation[]
getFlowInformations()
Returns the set of Flow-Information AVPs.byte[]
getTdfApplicationIdentifier()
Returns the value of the TDF-Application-Identifier AVP, of type OctetString.byte[]
getTdfApplicationInstanceIdentifier()
Returns the value of the TDF-Application-Instance-Identifier AVP, of type OctetString.boolean
hasTdfApplicationIdentifier()
Returns true if the TDF-Application-Identifier AVP is present in the Application-Detection-Information AVP.boolean
hasTdfApplicationInstanceIdentifier()
Returns true if the TDF-Application-Instance-Identifier AVP is present in the Application-Detection-Information AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Application-Detection-Information AVP.void
removeFlowInformations()
Removes all Flow-Information AVPs from the Application-Detection-Information AVP.void
removeTdfApplicationIdentifier()
Removes the TDF-Application-Identifier AVP from the Application-Detection-Information AVP.void
removeTdfApplicationInstanceIdentifier()
Removes the TDF-Application-Instance-Identifier AVP from the Application-Detection-Information AVP.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 Application-Detection-Information AVP, of type Grouped.void
setFlowInformations(FlowInformation[] flowInformations)
Sets the set of Flow-Information AVPs, with all the values in the given array.void
setTdfApplicationIdentifier(byte[] tdfApplicationIdentifier)
Sets the value of the TDF-Application-Identifier AVP, of type OctetString.void
setTdfApplicationInstanceIdentifier(byte[] tdfApplicationInstanceIdentifier)
Sets the value of the TDF-Application-Instance-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
-
hasTdfApplicationIdentifier
boolean hasTdfApplicationIdentifier()
Returns true if the TDF-Application-Identifier AVP is present in the Application-Detection-Information 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 Application-Detection-Information AVP. If the TDF-Application-Identifier AVP is not present, this method returns silently.
-
hasTdfApplicationInstanceIdentifier
boolean hasTdfApplicationInstanceIdentifier()
Returns true if the TDF-Application-Instance-Identifier AVP is present in the Application-Detection-Information AVP.
-
getTdfApplicationInstanceIdentifier
byte[] getTdfApplicationInstanceIdentifier()
Returns the value of the TDF-Application-Instance-Identifier AVP, of type OctetString.- Returns:
- the value of the TDF-Application-Instance-Identifier AVP, or null if it has not been set.
-
setTdfApplicationInstanceIdentifier
void setTdfApplicationInstanceIdentifier(byte[] tdfApplicationInstanceIdentifier)
Sets the value of the TDF-Application-Instance-Identifier AVP, of type OctetString.- Throws:
NullPointerException
- iftdfApplicationInstanceIdentifier
isnull
.
-
removeTdfApplicationInstanceIdentifier
void removeTdfApplicationInstanceIdentifier()
Removes the TDF-Application-Instance-Identifier AVP from the Application-Detection-Information AVP. If the TDF-Application-Instance-Identifier 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 Application-Detection-Information 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 Application-Detection-Information 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 Application-Detection-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 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 Application-Detection-Information AVP. If no Flow-Information 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 Application-Detection-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 Application-Detection-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 Application-Detection-Information AVP. If no extension AVPs are present, this method returns silently.
-
-