Interface SupportedFeatures
-
- All Superinterfaces:
Cloneable
,DiameterAvp
,GroupedAvp
public interface SupportedFeatures extends GroupedAvp
Defines an interface representing the Supported-Features grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V10.1.0) specification:6.3.29 Supported-Features The Supported-Features AVP is of type Grouped. If this AVP is present it may inform the destination host about the features that the origin host supports. The Feature-List AVP contains a list of supported features of the origin host. The Vendor-ID AVP and the Feature-List AVP shall together identify which feature list is carried in the Supported-Features AVP. Where a Supported-Features AVP is used to identify features that have been defined by 3GPP, the Vendor-ID AVP shall contain the vendor ID of 3GPP. Vendors may define proprietary features, but it is strongly recommended that the possibility is used only as the last resort. Where the Supported-Features AVP is used to identify features that have been defined by a vendor other than 3GPP, it shall contain the vendor ID of the specific vendor in question. If there are multiple feature lists defined by the same vendor, the Feature-List-ID AVP shall differentiate those lists from one another. The destination host shall use the value of the Feature-List-ID AVP to identify the feature list. AVP format: Supported-Features ::= < AVP Header: 628 10415 > { Vendor-Id } { Feature-List-ID } { Feature-List } *[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.long
getFeatureList()
Returns the value of the Feature-List AVP, of type Unsigned32.long
getFeatureListId()
Returns the value of the Feature-List-ID AVP, of type Unsigned32.long
getVendorId()
Returns the value of the Vendor-Id AVP, of type Unsigned32.boolean
hasFeatureList()
Returns true if the Feature-List AVP is present in the Supported-Features AVP.boolean
hasFeatureListId()
Returns true if the Feature-List-ID AVP is present in the Supported-Features AVP.boolean
hasVendorId()
Returns true if the Vendor-Id AVP is present in the Supported-Features AVP.void
removeExtensionAvps()
Removes all extension AVPs from the Supported-Features AVP.void
removeFeatureList()
Removes the Feature-List AVP from the Supported-Features AVP.void
removeFeatureListId()
Removes the Feature-List-ID AVP from the Supported-Features AVP.void
removeVendorId()
Removes the Vendor-Id AVP from the Supported-Features AVP.void
setExtensionAvps(DiameterAvp[] avps)
Sets the set of extension AVPs with all the values in the given array.void
setFeatureList(long featureList)
Sets the value of the Feature-List AVP, of type Unsigned32.void
setFeatureListId(long featureListId)
Sets the value of the Feature-List-ID AVP, of type Unsigned32.void
setVendorId(long vendorId)
Sets the value of the Vendor-Id 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
-
hasVendorId
boolean hasVendorId()
Returns true if the Vendor-Id AVP is present in the Supported-Features AVP.
-
getVendorId
long getVendorId()
Returns the value of the Vendor-Id AVP, of type Unsigned32. UsehasVendorId()
to check the existence of this AVP.- Returns:
- the value of the Vendor-Id AVP
- Throws:
IllegalStateException
- if the Vendor-Id AVP has not been set.
-
setVendorId
void setVendorId(long vendorId)
Sets the value of the Vendor-Id AVP, of type Unsigned32.
-
removeVendorId
void removeVendorId()
Removes the Vendor-Id AVP from the Supported-Features AVP. If the Vendor-Id AVP is not present, this method returns silently.
-
hasFeatureListId
boolean hasFeatureListId()
Returns true if the Feature-List-ID AVP is present in the Supported-Features AVP.
-
getFeatureListId
long getFeatureListId()
Returns the value of the Feature-List-ID AVP, of type Unsigned32. UsehasFeatureListId()
to check the existence of this AVP.- Returns:
- the value of the Feature-List-ID AVP
- Throws:
IllegalStateException
- if the Feature-List-ID AVP has not been set.
-
setFeatureListId
void setFeatureListId(long featureListId)
Sets the value of the Feature-List-ID AVP, of type Unsigned32.
-
removeFeatureListId
void removeFeatureListId()
Removes the Feature-List-ID AVP from the Supported-Features AVP. If the Feature-List-ID AVP is not present, this method returns silently.
-
hasFeatureList
boolean hasFeatureList()
Returns true if the Feature-List AVP is present in the Supported-Features AVP.
-
getFeatureList
long getFeatureList()
Returns the value of the Feature-List AVP, of type Unsigned32. UsehasFeatureList()
to check the existence of this AVP.- Returns:
- the value of the Feature-List AVP
- Throws:
IllegalStateException
- if the Feature-List AVP has not been set.
-
setFeatureList
void setFeatureList(long featureList)
Sets the value of the Feature-List AVP, of type Unsigned32.
-
removeFeatureList
void removeFeatureList()
Removes the Feature-List AVP from the Supported-Features AVP. If the Feature-List 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 Supported-Features 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 Supported-Features 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 Supported-Features AVP. If no extension AVPs are present, this method returns silently.
-
-