Interface RoutingRuleInstall

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface RoutingRuleInstall
    extends GroupedAvp
    Defines an interface representing the Routing-Rule-Install grouped AVP type. From the Diameter Gx Reference Point Protocol Details (3GPP TS 29.212 V10.1.0) specification:
     5.3.68 Routing-Rule-Install AVP
     
         The Routing-Rule-Install AVP (AVP code 1074) is of type Grouped, and it is used to install or modify IP flow mobility
         routing rules as instructed from the PCEF to the PCRF.
     
         For installing a new IP flow mobility routing rule or modifying a IP flow mobility routing rule already installed,
         Routing-Rule-Definition AVP shall be used.
     
         AVP Format:
     
         Routing-Rule-Install ::= < AVP Header: 1074 >
                                 *[ Routing-Rule-Definition ]
                                 *[ AVP ]
     
    • Method Detail

      • getRoutingRuleDefinitions

        RoutingRuleDefinition[] getRoutingRuleDefinitions()
        Returns the set of Routing-Rule-Definition AVPs. The returned array contains the AVPs in the order they appear in the Routing-Rule-Install AVP. A return value of null implies that no Routing-Rule-Definition AVPs have been set. The elements in the given array are RoutingRuleDefinition objects.
      • setRoutingRuleDefinition

        void setRoutingRuleDefinition​(RoutingRuleDefinition routingRuleDefinition)
        Sets a single Routing-Rule-Definition AVP in the Routing-Rule-Install AVP, of type Grouped.
        Throws:
        NullPointerException - if routingRuleDefinition is null.
      • setRoutingRuleDefinitions

        void setRoutingRuleDefinitions​(RoutingRuleDefinition[] routingRuleDefinitions)
        Sets the set of Routing-Rule-Definition AVPs, with all the values in the given array. The AVPs will be added to the Routing-Rule-Install 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 getRoutingRuleDefinitions() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if routingRuleDefinitions is null.
      • removeRoutingRuleDefinitions

        void removeRoutingRuleDefinitions()
        Removes all Routing-Rule-Definition AVPs from the Routing-Rule-Install AVP. If no Routing-Rule-Definition 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 Routing-Rule-Install 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 Routing-Rule-Install 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 Routing-Rule-Install AVP. If no extension AVPs are present, this method returns silently.