Interface ServerCapabilities

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface ServerCapabilities
    extends GroupedAvp
    Defines an interface representing the Server-Capabilities grouped AVP type. From the Diameter Rf Reference Point Protocol Details (3GPP TS 32.299 V7.1.0) specification:
     6.3.4       Server-Capabilities AVP
     
     The Server-Capabilities AVP is of type Grouped. This AVP contains information to assist the I-CSCF in the selection
     of an S-CSCF.
     
     AVP format:
     
             Server-Capabilities ::=  < AVP Header: 603>
                                      * [ Mandatory-Capability ]
                                      * [ Optional-Capability ]
                                      * [ Server-Name ]
                                      * [ AVP ]
     From Cx and Dx interfaces based on the Diameter protocol Protocol details (3GPP TS 29.229 version 7.11.0 Release 7)                                
     
    • Method Detail

      • getMandatoryCapabilitys

        byte[][] getMandatoryCapabilitys()
        Returns the set of Mandatory-Capability AVPs. The returned array contains the AVPs in the order they appear in the Server-Capabilities AVP. A return value of null implies that no Mandatory-Capability AVPs have been set. The elements in the given array are byte[] objects.
      • setMandatoryCapability

        void setMandatoryCapability​(byte[] mandatoryCapability)
        Sets a single Mandatory-Capability AVP in the Server-Capabilities AVP, of type OctetString.
        Throws:
        NullPointerException - if mandatoryCapability is null.
      • setMandatoryCapabilitys

        void setMandatoryCapabilitys​(byte[][] mandatoryCapabilitys)
        Sets the set of Mandatory-Capability AVPs, with all the values in the given array. The AVPs will be added to the Server-Capabilities 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 getMandatoryCapabilitys() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if mandatoryCapabilitys is null.
      • removeMandatoryCapabilitys

        void removeMandatoryCapabilitys()
        Removes all Mandatory-Capability AVPs from the Server-Capabilities AVP. If no Mandatory-Capability AVPs are present, this method returns silently.
      • getOptionalCapabilitys

        byte[][] getOptionalCapabilitys()
        Returns the set of Optional-Capability AVPs. The returned array contains the AVPs in the order they appear in the Server-Capabilities AVP. A return value of null implies that no Optional-Capability AVPs have been set. The elements in the given array are byte[] objects.
      • setOptionalCapability

        void setOptionalCapability​(byte[] optionalCapability)
        Sets a single Optional-Capability AVP in the Server-Capabilities AVP, of type OctetString.
        Throws:
        NullPointerException - if optionalCapability is null.
      • setOptionalCapabilitys

        void setOptionalCapabilitys​(byte[][] optionalCapabilitys)
        Sets the set of Optional-Capability AVPs, with all the values in the given array. The AVPs will be added to the Server-Capabilities 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 getOptionalCapabilitys() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if optionalCapabilitys is null.
      • removeOptionalCapabilitys

        void removeOptionalCapabilitys()
        Removes all Optional-Capability AVPs from the Server-Capabilities AVP. If no Optional-Capability AVPs are present, this method returns silently.
      • getServerNames

        byte[][] getServerNames()
        Returns the set of Server-Name AVPs. The returned array contains the AVPs in the order they appear in the Server-Capabilities AVP. A return value of null implies that no Server-Name AVPs have been set. The elements in the given array are byte[] objects.
      • setServerName

        void setServerName​(byte[] serverName)
        Sets a single Server-Name AVP in the Server-Capabilities AVP, of type OctetString.
        Throws:
        NullPointerException - if serverName is null.
      • setServerNames

        void setServerNames​(byte[][] serverNames)
        Sets the set of Server-Name AVPs, with all the values in the given array. The AVPs will be added to the Server-Capabilities 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 getServerNames() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if serverNames is null.
      • removeServerNames

        void removeServerNames()
        Removes all Server-Name AVPs from the Server-Capabilities AVP. If no Server-Name 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 Server-Capabilities 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 Server-Capabilities 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 - if avps is null.
      • removeExtensionAvps

        void removeExtensionAvps()
        Removes all extension AVPs from the Server-Capabilities AVP. If no extension AVPs are present, this method returns silently.