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 ]
     
    • 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 - if tdfApplicationIdentifier is null.
      • 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 - if tdfApplicationInstanceIdentifier is null.
      • 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 - if flowInformation is null.
      • 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 - if flowInformations is null.
      • 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 - if avps is null.
      • removeExtensionAvps

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