Interface AllocationRetentionPriority
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface AllocationRetentionPriority extends GroupedAvp
Defines an interface representing the Allocation-Retention-Priority grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V11.9.0) specification:5.3.32 Allocation-Retention-Priority The Allocation-Retention-Priority AVP (AVP code 1034) is of type Grouped, and it is used to indicate the priority of allocation and retention, the pre-emption capability and pre-emption vulnerability for the SDF if provided within the QoS-Information-AVP or for the EPS default bearer if provided within the Default-EPS-Bearer-QoS AVP. The Priority-Level AVP of the default bearer should be set to a sufficiently high level of priority and the ARP pre-emption vulnerability of the default bearer should be set appropriately to minimize the risk for unexpected PDN disconnection or UE detach from the network according to operator specific policies. AVP Format: Allocation-Retention-Priority ::= < AVP Header: 1034 > { Priority-Level } [ Pre-emption-Capability ] [ Pre-emption-Vulnerability ]
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.PreEmptionCapability
getPreEmptionCapability()
Returns the value of the Pre-emption-Capability AVP, of type Enumerated.PreEmptionVulnerability
getPreEmptionVulnerability()
Returns the value of the Pre-emption-Vulnerability AVP, of type Enumerated.long
getPriorityLevel()
Returns the value of the Priority-Level AVP, of type Unsigned32.boolean
hasPreEmptionCapability()
Returns true if the Pre-emption-Capability AVP is present in the Allocation-Retention-Priority AVP.boolean
hasPreEmptionVulnerability()
Returns true if the Pre-emption-Vulnerability AVP is present in the Allocation-Retention-Priority AVP.boolean
hasPriorityLevel()
Returns true if the Priority-Level AVP is present in the Allocation-Retention-Priority AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Allocation-Retention-Priority AVP.void
removePreEmptionCapability()
Removes the Pre-emption-Capability AVP from the Allocation-Retention-Priority AVP.void
removePreEmptionVulnerability()
Removes the Pre-emption-Vulnerability AVP from the Allocation-Retention-Priority AVP.void
removePriorityLevel()
Removes the Priority-Level AVP from the Allocation-Retention-Priority AVP.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setPreEmptionCapability(PreEmptionCapability preEmptionCapability)
Sets the value of the Pre-emption-Capability AVP, of type Enumerated.void
setPreEmptionVulnerability(PreEmptionVulnerability preEmptionVulnerability)
Sets the value of the Pre-emption-Vulnerability AVP, of type Enumerated.void
setPriorityLevel(long priorityLevel)
Sets the value of the Priority-Level 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
-
hasPriorityLevel
boolean hasPriorityLevel()
Returns true if the Priority-Level AVP is present in the Allocation-Retention-Priority AVP.
-
getPriorityLevel
long getPriorityLevel()
Returns the value of the Priority-Level AVP, of type Unsigned32. UsehasPriorityLevel()
to check the existence of this AVP.- Returns:
- the value of the Priority-Level AVP
- Throws:
IllegalStateException
- if the Priority-Level AVP has not been set.
-
setPriorityLevel
void setPriorityLevel(long priorityLevel)
Sets the value of the Priority-Level AVP, of type Unsigned32.
-
removePriorityLevel
void removePriorityLevel()
Removes the Priority-Level AVP from the Allocation-Retention-Priority AVP. If the Priority-Level AVP is not present, this method returns silently.
-
hasPreEmptionCapability
boolean hasPreEmptionCapability()
Returns true if the Pre-emption-Capability AVP is present in the Allocation-Retention-Priority AVP.
-
getPreEmptionCapability
PreEmptionCapability getPreEmptionCapability()
Returns the value of the Pre-emption-Capability AVP, of type Enumerated.- Returns:
- the value of the Pre-emption-Capability AVP, or null if it has not been set.
-
setPreEmptionCapability
void setPreEmptionCapability(PreEmptionCapability preEmptionCapability)
Sets the value of the Pre-emption-Capability AVP, of type Enumerated.- Throws:
NullPointerException
- ifpreEmptionCapability
isnull
.
-
removePreEmptionCapability
void removePreEmptionCapability()
Removes the Pre-emption-Capability AVP from the Allocation-Retention-Priority AVP. If the Pre-emption-Capability AVP is not present, this method returns silently.
-
hasPreEmptionVulnerability
boolean hasPreEmptionVulnerability()
Returns true if the Pre-emption-Vulnerability AVP is present in the Allocation-Retention-Priority AVP.
-
getPreEmptionVulnerability
PreEmptionVulnerability getPreEmptionVulnerability()
Returns the value of the Pre-emption-Vulnerability AVP, of type Enumerated.- Returns:
- the value of the Pre-emption-Vulnerability AVP, or null if it has not been set.
-
setPreEmptionVulnerability
void setPreEmptionVulnerability(PreEmptionVulnerability preEmptionVulnerability)
Sets the value of the Pre-emption-Vulnerability AVP, of type Enumerated.- Throws:
NullPointerException
- ifpreEmptionVulnerability
isnull
.
-
removePreEmptionVulnerability
void removePreEmptionVulnerability()
Removes the Pre-emption-Vulnerability AVP from the Allocation-Retention-Priority AVP. If the Pre-emption-Vulnerability 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 Allocation-Retention-Priority 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 Allocation-Retention-Priority 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 Allocation-Retention-Priority AVP. If no extension AVPs are present, this method returns silently.
-
-