Interface ServiceInformation

  • All Superinterfaces:
    Cloneable, DiameterAvp, GroupedAvp

    public interface ServiceInformation
    extends GroupedAvp
    Defines an interface representing the Service-Information grouped AVP type. From the Diameter Ro Reference Point Protocol Details (3GPP TS 32.299 V11.8.0) specification:
     7.2.192     Service-Information AVP
     
     The Service-Information AVP (AVP code 873) is of type Grouped. Its purpose
     is to allow the transmission of additional 3GPP service specific
     information elements which are not described in this document.
     It has the following ABNF grammar:
     
         Service-Information ::=  < AVP Header: 873>
                                * [ Subscription-Id ]
                                  [ AoC-Information ]
                                  [ PS-Information ]
                                  [ WLAN-Information ]
                                  [ IMS-Information ]
                                  [ MMS-Information ]
                                  [ LCS-Information ]
                                  [ PoC-Information ]
                                  [ MBMS-Information ]
                                  [ SMS-Information ]
                                  [ MMTel-Information ]
                                  [ Service-Generic-Information ]
                                  [ IM-Information ]
                                  [ DCD-Information ]
     
     The format and the contents of the fields inside the Service-Information
     AVP are specified in the middle-tier documents which are applicable for the
     specific service. Note that the formats of the fields are service-specific,
     i.e. the format will be different for the various services.
     Further fields may be included in the Service-Information AVP when new
     services are introduced.
     
     
    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.
    • Method Detail

      • getSubscriptionIds

        SubscriptionId[] getSubscriptionIds()
        Returns the set of Subscription-Id AVPs. The returned array contains the AVPs in the order they appear in the Service-Information AVP. A return value of null implies that no Subscription-Id AVPs have been set. The elements in the given array are SubscriptionId objects.
      • setSubscriptionId

        void setSubscriptionId​(SubscriptionId subscriptionId)
        Sets a single Subscription-Id AVP in the Service-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if subscriptionId is null.
      • setSubscriptionIds

        void setSubscriptionIds​(SubscriptionId[] subscriptionIds)
        Sets the set of Subscription-Id AVPs, with all the values in the given array. The AVPs will be added to the Service-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 getSubscriptionIds() is not guaranteed to return the same array instance, e.g. an "==" check would fail.
        Throws:
        NullPointerException - if subscriptionIds is null.
      • removeSubscriptionIds

        void removeSubscriptionIds()
        Removes all Subscription-Id AVPs from the Service-Information AVP. If no Subscription-Id AVPs are present, this method returns silently.
      • hasAocInformation

        boolean hasAocInformation()
        Returns true if the AoC-Information AVP is present in the Service-Information AVP.
      • getAocInformation

        AocInformation getAocInformation()
        Returns the value of the AoC-Information AVP, of type Grouped.
        Returns:
        the value of the AoC-Information AVP, or null if it has not been set.
      • setAocInformation

        void setAocInformation​(AocInformation aocInformation)
        Sets the value of the AoC-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if aocInformation is null.
      • removeAocInformation

        void removeAocInformation()
        Removes the AoC-Information AVP from the Service-Information AVP. If the AoC-Information AVP is not present, this method returns silently.
      • hasPsInformation

        boolean hasPsInformation()
        Returns true if the PS-Information AVP is present in the Service-Information AVP.
      • getPsInformation

        PsInformation getPsInformation()
        Returns the value of the PS-Information AVP, of type Grouped.
        Returns:
        the value of the PS-Information AVP, or null if it has not been set.
      • setPsInformation

        void setPsInformation​(PsInformation psInformation)
        Sets the value of the PS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if psInformation is null.
      • removePsInformation

        void removePsInformation()
        Removes the PS-Information AVP from the Service-Information AVP. If the PS-Information AVP is not present, this method returns silently.
      • hasWlanInformation

        boolean hasWlanInformation()
        Returns true if the WLAN-Information AVP is present in the Service-Information AVP.
      • getWlanInformation

        WlanInformation getWlanInformation()
        Returns the value of the WLAN-Information AVP, of type Grouped.
        Returns:
        the value of the WLAN-Information AVP, or null if it has not been set.
      • setWlanInformation

        void setWlanInformation​(WlanInformation wlanInformation)
        Sets the value of the WLAN-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if wlanInformation is null.
      • removeWlanInformation

        void removeWlanInformation()
        Removes the WLAN-Information AVP from the Service-Information AVP. If the WLAN-Information AVP is not present, this method returns silently.
      • hasImsInformation

        boolean hasImsInformation()
        Returns true if the IMS-Information AVP is present in the Service-Information AVP.
      • getImsInformation

        ImsInformation getImsInformation()
        Returns the value of the IMS-Information AVP, of type Grouped.
        Returns:
        the value of the IMS-Information AVP, or null if it has not been set.
      • setImsInformation

        void setImsInformation​(ImsInformation imsInformation)
        Sets the value of the IMS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if imsInformation is null.
      • removeImsInformation

        void removeImsInformation()
        Removes the IMS-Information AVP from the Service-Information AVP. If the IMS-Information AVP is not present, this method returns silently.
      • hasMmsInformation

        boolean hasMmsInformation()
        Returns true if the MMS-Information AVP is present in the Service-Information AVP.
      • getMmsInformation

        MmsInformation getMmsInformation()
        Returns the value of the MMS-Information AVP, of type Grouped.
        Returns:
        the value of the MMS-Information AVP, or null if it has not been set.
      • setMmsInformation

        void setMmsInformation​(MmsInformation mmsInformation)
        Sets the value of the MMS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if mmsInformation is null.
      • removeMmsInformation

        void removeMmsInformation()
        Removes the MMS-Information AVP from the Service-Information AVP. If the MMS-Information AVP is not present, this method returns silently.
      • hasLcsInformation

        boolean hasLcsInformation()
        Returns true if the LCS-Information AVP is present in the Service-Information AVP.
      • getLcsInformation

        LcsInformation getLcsInformation()
        Returns the value of the LCS-Information AVP, of type Grouped.
        Returns:
        the value of the LCS-Information AVP, or null if it has not been set.
      • setLcsInformation

        void setLcsInformation​(LcsInformation lcsInformation)
        Sets the value of the LCS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if lcsInformation is null.
      • removeLcsInformation

        void removeLcsInformation()
        Removes the LCS-Information AVP from the Service-Information AVP. If the LCS-Information AVP is not present, this method returns silently.
      • hasPocInformation

        boolean hasPocInformation()
        Returns true if the PoC-Information AVP is present in the Service-Information AVP.
      • getPocInformation

        PocInformation getPocInformation()
        Returns the value of the PoC-Information AVP, of type Grouped.
        Returns:
        the value of the PoC-Information AVP, or null if it has not been set.
      • setPocInformation

        void setPocInformation​(PocInformation pocInformation)
        Sets the value of the PoC-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if pocInformation is null.
      • removePocInformation

        void removePocInformation()
        Removes the PoC-Information AVP from the Service-Information AVP. If the PoC-Information AVP is not present, this method returns silently.
      • hasMbmsInformation

        boolean hasMbmsInformation()
        Returns true if the MBMS-Information AVP is present in the Service-Information AVP.
      • getMbmsInformation

        MbmsInformation getMbmsInformation()
        Returns the value of the MBMS-Information AVP, of type Grouped.
        Returns:
        the value of the MBMS-Information AVP, or null if it has not been set.
      • setMbmsInformation

        void setMbmsInformation​(MbmsInformation mbmsInformation)
        Sets the value of the MBMS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if mbmsInformation is null.
      • removeMbmsInformation

        void removeMbmsInformation()
        Removes the MBMS-Information AVP from the Service-Information AVP. If the MBMS-Information AVP is not present, this method returns silently.
      • hasSmsInformation

        boolean hasSmsInformation()
        Returns true if the SMS-Information AVP is present in the Service-Information AVP.
      • getSmsInformation

        SmsInformation getSmsInformation()
        Returns the value of the SMS-Information AVP, of type Grouped.
        Returns:
        the value of the SMS-Information AVP, or null if it has not been set.
      • setSmsInformation

        void setSmsInformation​(SmsInformation smsInformation)
        Sets the value of the SMS-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if smsInformation is null.
      • removeSmsInformation

        void removeSmsInformation()
        Removes the SMS-Information AVP from the Service-Information AVP. If the SMS-Information AVP is not present, this method returns silently.
      • hasMmtelInformation

        boolean hasMmtelInformation()
        Returns true if the MMTel-Information AVP is present in the Service-Information AVP.
      • getMmtelInformation

        MmtelInformation getMmtelInformation()
        Returns the value of the MMTel-Information AVP, of type Grouped.
        Returns:
        the value of the MMTel-Information AVP, or null if it has not been set.
      • setMmtelInformation

        void setMmtelInformation​(MmtelInformation mmtelInformation)
        Sets the value of the MMTel-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if mmtelInformation is null.
      • removeMmtelInformation

        void removeMmtelInformation()
        Removes the MMTel-Information AVP from the Service-Information AVP. If the MMTel-Information AVP is not present, this method returns silently.
      • hasServiceGenericInformation

        boolean hasServiceGenericInformation()
        Returns true if the Service-Generic-Information AVP is present in the Service-Information AVP.
      • getServiceGenericInformation

        ServiceGenericInformation getServiceGenericInformation()
        Returns the value of the Service-Generic-Information AVP, of type Grouped.
        Returns:
        the value of the Service-Generic-Information AVP, or null if it has not been set.
      • setServiceGenericInformation

        void setServiceGenericInformation​(ServiceGenericInformation serviceGenericInformation)
        Sets the value of the Service-Generic-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if serviceGenericInformation is null.
      • removeServiceGenericInformation

        void removeServiceGenericInformation()
        Removes the Service-Generic-Information AVP from the Service-Information AVP. If the Service-Generic-Information AVP is not present, this method returns silently.
      • hasImInformation

        boolean hasImInformation()
        Returns true if the IM-Information AVP is present in the Service-Information AVP.
      • getImInformation

        ImInformation getImInformation()
        Returns the value of the IM-Information AVP, of type Grouped.
        Returns:
        the value of the IM-Information AVP, or null if it has not been set.
      • setImInformation

        void setImInformation​(ImInformation imInformation)
        Sets the value of the IM-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if imInformation is null.
      • removeImInformation

        void removeImInformation()
        Removes the IM-Information AVP from the Service-Information AVP. If the IM-Information AVP is not present, this method returns silently.
      • hasDcdInformation

        boolean hasDcdInformation()
        Returns true if the DCD-Information AVP is present in the Service-Information AVP.
      • getDcdInformation

        DcdInformation getDcdInformation()
        Returns the value of the DCD-Information AVP, of type Grouped.
        Returns:
        the value of the DCD-Information AVP, or null if it has not been set.
      • setDcdInformation

        void setDcdInformation​(DcdInformation dcdInformation)
        Sets the value of the DCD-Information AVP, of type Grouped.
        Throws:
        NullPointerException - if dcdInformation is null.
      • removeDcdInformation

        void removeDcdInformation()
        Removes the DCD-Information AVP from the Service-Information AVP. If the DCD-Information 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 Service-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 Service-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 Service-Information AVP. If no extension AVPs are present, this method returns silently.